可以把能够AC的暴力卡到50秒的数据
#include<bits/stdc++.h>
#define int long long
#define mem(x,y) memset(x,y,sizeof(x))
#define frein freopen("in.in","r",stdin)
#define freout freopen("out.out","w",stdout)
using namespace std;
int read(){
int s = 0,w = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){if(ch == '-')w = -1;ch = getchar();}
while(ch >= '0' && ch <= '9')s = s * 10 + ch - '0',ch = getchar();
return s * w;
}
int n,m;
int a[1000010];
mt19937 rnd(time(0));
int random(int l,int r){
return rnd() % (r - l + 1) + l;
}
signed main(){
n = 100000,m = 100000;
int k = random(1,n);
cout<<n<<" "<<m<<endl;
for(int i = 1;i <= n;i ++)a[i] = i;
for(int i = 1;i <= n;i ++){
int l,r;
l = random(1,n);
r = random(1,n);
if(l > r)swap(l,r);
swap(a[l],a[r]);
}
for(int i = 1;i <= n;i ++)cout<<a[i]<<" ";
cout<<endl;
for(int i = 1;i <= m;i ++){
int op,l,r;
op = random(0,1);
l = random(1,100);
r = random(99900,100000);
cout<<op<<" "<<l<<" "<<r<<endl;
}
cout<<k<<endl;
}