TLE60pts求卡常

cout啊

不然每次3e6

用循环初始化

每次得n

看你的帖子

@曾天云 https://discourse.xinyoudui.com/t/topic/39191/2

#include<bits/stdc++.h>
using namespace std;
int read(){
    char c=getchar_unlocked();
	int f=1;
	while(!isdigit(c)){
		if(c=='-') f=-1;
		c=getchar_unlocked();
	}
	int k=0;
	while(isdigit(c)){
		k=(k<<3)+(k<<1)+(c^'0');
		c=getchar_unlocked();
	}
	return f*k;
}
int hs[3000005];
signed main(){
    freopen("set.in","r",stdin);
    freopen("set.out","w",stdout);
	ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    srand(time(0));
    int c,t;
    c=read(),t=read();
    while(t--){
		int n,m;
		n=read(),m=read();
        for(int i=1;i<=n;i++)
            hs[i]=0;
		for(int i=1;i<=m;i++){
			unsigned long long mod=rand();
			int k;
			k=read();
			for(int j=1;j<=k;j++){
				int l,r;
				l=read(),r=read();
				hs[l]^=mod;
				hs[r+1]^=mod;
			}
		}
    	for(int i=2;i<=n;i++)
    		hs[i]^=hs[i-1];
        sort(hs+1,hs+n+1);
		int ans=0;
		for(int i=1;i<=n;i++){
			if((i==1||hs[i]!=hs[i-1])&&(i==n||hs[i]!=hs[i+1]))
			    ans++;
		}
		cout<<ans<<'\n';
    }
	return 0;
}

OK呀,WA了)

快读删掉,用cin,cout

image
这里别用rand,用老师的

rand《=65536

#include<bits/stdc++.h>
using namespace std;
int hs[3000005];
signed main(){
    freopen("set.in","r",stdin);
    freopen("set.out","w",stdout);
	ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    srand(time(0));
    int c,t;
    cin>>c>>t;
    while(t--){
		int n,m;
		cin>>n>>m;
        for(int i=0;i<=n;i++)
            hs[i]=0;
		for(int i=1;i<=m;i++){
			unsigned long long mod=rand();
			int k;
			cin>>k;
			for(int j=1;j<=k;j++){
				int l,r;
				cin>>l>>r;
				hs[l]^=mod;
				hs[r+1]^=mod;
			}
		}
    	for(int i=2;i<=n;i++)
    		hs[i]^=hs[i-1];
        sort(hs+1,hs+n+1);
		int ans=0;
		for(int i=1;i<=n;i++){
			if((i==1||hs[i]!=hs[i-1])&&(i==n||hs[i]!=hs[i+1]))
			    ans++;
		}
		cout<<ans<<'\n';
    }
	return 0;
}

WA60

用这个mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());

image

能解决吧

#include<bits/stdc++.h>
using namespace std;
mt19937_64 
rd(chrono::steady_clock::now().time_since_epoch().count());
int hs[3000005];
signed main(){
//    freopen("set.in","r",stdin);
//    freopen("set.out","w",stdout);
	ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    srand(time(0));
    int c,t;
    cin>>c>>t;
    while(t--){
		int n,m;
		cin>>n>>m;
        for(int i=0;i<=n;i++)
            hs[i]=0;
		for(int i=1;i<=m;i++){
			unsigned long long mod=rd;
			int k;
			cin>>k;
			for(int j=1;j<=k;j++){
				int l,r;
				cin>>l>>r;
				hs[l]^=mod;
				hs[r+1]^=mod;
			}
		}
    	for(int i=2;i<=n;i++)
    		hs[i]^=hs[i-1];
        sort(hs+1,hs+n+1);
		int ans=0;
		for(int i=1;i<=n;i++){
			if((i==1||hs[i]!=hs[i-1])&&(i==n||hs[i]!=hs[i+1]))
			    ans++;
		}
		cout<<ans<<'\n';
    }
	return 0;
}

CE了

不是

image
这里连起来

mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());
连一起!!!

还是CE

image
加括号