if U 0 pts && U think U R rignt
查看原帖
if U 0 pts && U think U R rignt
1684892
Hanshaohua139楼主2025/8/31 13:57

非常智障的错误:

如果你的询问循环是这么写的:

for(int i=1,ans=1,l,r;i<=m;i++){
		cin>>l>>r;
		while(1){
			int sum=find_inter(root[l-1],root[r],1,inf,1,ans);
			if(sum>=ans) ans=sum+1;
			else    	 break;
		}
		cout<<ans<<'\n';
	}

这样写的 ans 是没有初始化的

应该:

for(int i=1;i<=m;i++){
		int ans=1,l,r;
		cin>>l>>r;
		while(1){
			int sum=find_inter(root[l-1],root[r],1,inf,1,ans);
			if(sum>=ans) ans=sum+1;
			else    	 break;
		}
		cout<<ans<<'\n';
	}
2025/8/31 13:57
加载中...