此题 m 次单点修改每次需要新建 logn 个结点,初始建树需要新建 4n 个结点,所以空间大约需要开 24 倍。
题解很多开 20 倍的,都可以卡掉。
#include<bits/stdc++.h>
using namespace std;
mt19937 rd(1);
const int inf=1e8;
int main(){ios::sync_with_stdio(0);cin.tie(0);
int n=1e6,m=1e6;
cout<<n<<' '<<m<<'\n';
for(int i=1;i<=n;++i)cout<<(int)rd()%inf<<' ';cout<<'\n';
for(int i=1;i<=999990;++i)cout<<i-1<<' '<<1<<' '<<rd()%n+1<<' '<<(int)rd()%inf<<'\n';
for(int i=1;i<=10;++i)cout<<999990<<' '<<2<<' '<<rd()%n+1<<'\n';
return 0;
}