[文章目录]
Description
让你构造卡一个单base自然溢出的hash的数据。
膜神犇vfleaking。 神犇题解
个人没有想到让hash值每次变成相反数使得倍增后能使2的幂数等差数列。 我还是太菜了。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char s[100010];
int n,l;
int main()
{
n=1; s[0]='a';
for(int i=0;i<12;++i)
{
for(int j=0;j<n;++j)
s[n+j]=(s[j]=='a')?'b':'a';
n<<=1;
}
l=n>>1;
for(int i=1;i<=l;++i) s[n++]='a';
s[n++]='b';
for(int i=1;i<l;++i) s[n++]='a';
printf("%d %d\n%s",n,l,s);
return 0;
}