题目链接:BZOJ 3098
这道题用生日攻击,根据原理在N个数中随机选数只需要随机选取sqrt(N)个数就会出现重复的数。那么我们只需要使字符串的长度取100000即可。子串的长度要取大一点,使得它的取法大于mod 1000000007,那么只要使子串的长度大于27即可。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
int N=100000,L=27;
printf("%d %d\n",N,L);
for(int i=1;i<=N;i++){
printf("%c",rand()%26+'a');
}
return 0;
}