请问您是什么问题?是第一问还是第二问
蒟蒻觉得这一段开问题:
```cpp
for(int i=1;i<=k+5;i++){
a[++top]=a[w]*2+1;
a[++top]=a[w]*4+5;
w++;
}
for(w;w<=k+1;w++){
a[++top]=a[w]*2+1;
a[++top]=a[w]*4+5;
}
char b[50001];
sort(a+1,a+k+6);
```
首先您先把队头两个衍生的数塞了进去,即使最后排序,也无法保证这是一个正确的序列,因为如果你填的这个数爆了k的范围,即使排序也没用。
其次不太理解为什么要写k+5,说实话这道题手打队列有点难,STL库有模板的。
```cpp
#include <queue>//队列和优先队列
queue<int> q;//这里int指队列里元素的类型
q.push()//塞一个进去
q.pop()//弹出队首
q.front()//获取队头
q.empty()//队列空则返回真
```
建议用队顶队或者优先队列。
by DFSer @ 2022-08-18 22:11:42