今天的题根本没有可改性
所以我去打洛谷月赛和KMP练习了
然鹅luogu月赛也爆了呢
AC自动机模板题是蓝色的
上午
T1倒是搞得差不多了,赛时忘了判断两个串重合然后寄了,话不多说上代码
#include
using namespace std;
int n,p,x,poi,mx,poin;
int a[20000005][3],ans,xx,nb,t;
char ss;
string s[20005];
char b[50005];
int main()
{
freopen("loop.in","r",stdin);
freopen("loop.out","w",stdout);
cin>>n;
for(int i=1;i>s[i];
}
poi=2;
a[1][2]=n;
for(int i=1;imx)
{
mx=xx;
nb=i;
}
for(int j=0;j<s[i].size();j++)
{
if(s[i][j]=='0')
{
x=0;
}
else
{
x=1;
}
if(a[p][x]==0)
{
a[p][x]=poi;
p=poi;
a[p][2]++;
poi++;
}
else
{
p=a[p][x];
a[p][2]++;
}
}
// a[p][2]++;
}
/* for(int k=1;k<=p;k++)
{
cout<<k<<" "<<a[k][0]<<" "<<a[k][1]<<" v= "<<a[k][2]<<endl;
}*/
for(int i=1;i<=n;i++)
{
poin=0;
// cout<<mx<<endl;
for(int j=0;j<=mx;j++)
{
// cout<<j<<" "<<poin<<endl;
xx=s[i].size();
if(poin==xx)
{
poin=0;
}
// b=s[nb];
// ss=;
b[j]=s[i][poin];
// cout<<"S "<<s[i][poin]<<" "<<poin<<" "<<j<<" "<<b[j]<<endl;
poin++;
}
/* for(int k=0;k<mx;k++)
{
cout<<b[k];
}
cout<<endl;*/
// cout<<b<<endl;
// cout<<b[0]<<b[1]<<b[2]<<b[3]<<b[4]<<b[5]<<endl;
p=1;
for(int j=0;;j++)
{
// cout<<i<<" "<<jt))
{
p=a[p][x];
}
else
{
// cout<<a[p][2]<1)
{
ans=max(ans,j);
// cout<<i<<" - "<<a[p][2]<<" "<<j<<endl;
}
break;
}
}
}
cout<<ans<<endl;
}
下午
来早了,什么都没有
洛谷月赛
第一题,水题,不提
第二题,观察数据范围,直接暴力可以拿满
第三题,细节较多,但多加(WA)思(几)考(次)也就过了
第四题,二分,没什么好说的,一遍拿下
我是题目