社区讨论
关于cf
灌水区参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lod9sdua
- 此快照首次捕获于
- 2023/10/31 03:05 2 年前
- 此快照最后确认于
- 2023/11/05 13:31 2 年前
为什么时间复杂度算出了大概是1e9 , 在cf上也能过啊
CPPvoid solve(){
scanf("%d",&n);
For(i,1,n) scanf("%d",&a[i]),vis[i]=0;
int p=1;
For(i,2,n) if (a[i]>a[p]) p=i;
vis[p]=1;
printf("%d ",a[p]);
int G=a[p];
For(i,2,n){
int np=-1,nv=0;
For(j,1,n) if (!vis[j]){
int val=gcd(G,a[j]);
if (val>nv) nv=val,np=j;
}
vis[np]=1;
printf("%d ",a[np]);
G=gcd(G,a[np]);
}
puts("");
}
int main(){
int T;
scanf("%d",&T);
while (T--) solve();
}
这复杂度应该是吧
回复
共 5 条回复,欢迎继续交流。
正在加载回复...