社区讨论
问一下sub4里面t了一个点怎么弄?
P9345 夕阳西下几时回参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo2l7xj8
- 此快照首次捕获于
- 2023/10/23 15:39 2 年前
- 此快照最后确认于
- 2023/10/23 15:39 2 年前
后面想了想,数据范围是不是不太合理。
如果t=100000,每一个都是n=300000,k=1
那么光是输出就必tle
但是大家能过肯定没有这么阴间的数据(大雾
所以请问大家怎么处理这种超时的问题的……
CPP#include<bits/stdc++.h>
using namespace std;
int n,k;
int T;
const int N = 3e5 + 10;
int m[N];
int main(){
scanf("%d",&T);
for(int _ = 1;_ <= T;_++){
memset(m,0,sizeof(m));
scanf("%d%d",&n,&k);
if(k * 2 > n){
printf("NO\n");
continue;
}
printf("YES\n");
int l = k + 1,j = 0;
int tas = 1,tag = 3;
while(l != 0){
if(tas > n){
l += 1;
tas = tag,tag += 2;
}
printf("%d ",tas);
l--;
m[tas] = 1;
tas *= 2;
}
for(int i = 1;i <= n;i++){
if(m[i] == 0)
printf("%d ",i);
}
printf("\n");
}
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...