关于cf
  • 板块灌水区
  • 楼主鹤箩芠
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/9/9 00:42
  • 上次更新2023/11/5 13:31:30
查看原帖
关于cf
348184
鹤箩芠楼主2020/9/9 00:42

为什么时间复杂度算出了大概是1e9 , 在cf上也能过啊

void 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();
}

这复杂度应该是O(Tn2)O(Tn^2)n,T<=1e3n , T<= 1e3

2020/9/9 00:42
加载中...