回滚莫队指针移动是均摊的所以复杂度是假的
mt19937 umi(8300901);
int main() {
int n = 200000;
for(int i = 1; i <= 100; ++i) putchar('a');
putchar('b');
for(int i = 1; i <= n - 100 - 1; ++i) putchar('a'); puts("");
int m = 200000;
printf("%d\n", m);
for(int i = 1; i <= m; ++i) {
int a = umi() % 100 + 1, b = n - umi() % (n - 100 - 1);
printf("%d %d\n", a, b);
}
return 0;
}
暴力题解体现出本题数据是灾难性的弱
mt19937 umi(8300901);
int main() {
int n = 200000;
string s;
_rep(i,1,20000) s += 'a' + umi() % 26;
_rep(i,1,10) cout << s;
int m = 200000;
printf("\n%d\n", m);
for(int i = 1; i <= m; ++i) {
int a = umi() % n + 1, b = umi() % n + 1;
if(a > b) swap(a, b);
printf("%d %d\n", a, b);
}
return 0;
}
请求撤下两篇题解并加强数据
@Bobby_0105 @luogu_gza
@10circle @Little09 打扰了。