ZJ一下:

感觉能拿到的分都拿到了,至于后来改题就缶了

其实是:太tui导致没改好

TJ:

T1:

正解是$\mathsf{KMP}$,但是广大群众都用了$\mathsf{hash}$……

发现了一个巨的素数,它太好看辣!

$$\underbrace{1111111111111111111}_{19个1}$$

#include <iostream>
#include <cstring>
#include <cstdio>
#define L 1111111
#define LL long long using namespace std; const int Mod=1e9+9,Upbit=4373;//1111111111111111111
int tim,len;
char st[L];
LL hsp[L],hsp2[L];
LL pubh,sths;
LL lva,rva;
LL ans=0; LL ppow(LL a,LL b){
LL res=1;
a%=Mod;
b%=Mod-1;
while(b){
if(b&1)res=res*a%Mod;
a=a*a%Mod;
b>>=1;
}
return res;
}
inline LL tur(const char ch){
return ch-'A'+1;
}
int main(){
// freopen("ccx.in" ,"r",stdin);\
// freopen("ccx.out","w",stdout);
hsp[0]=1;
for(int i=1;i<=1000000;i++)
hsp[i]=hsp[i-1]*Upbit%Mod;
int T;
cin>>T;
while(T--){
memset(hsp2,0,sizeof hsp2);
ans=sths=pubh=0;
scanf("%d%d%s",&tim,&len,st+1);
// puts("Inputend");
for(int i=1;i<=len;i++)
sths=(sths*Upbit%Mod+tur(st[i]))%Mod;
// puts("String hash end");
hsp2[0]=ppow(Upbit,1ll*len*(tim-1));
for(int i=1;i<=len;i++)
hsp2[i]=hsp2[i-1]*Upbit%Mod;
// puts("Hash tim*len end");
for(int i=1;i<tim;i++)
pubh=(pubh*hsp[len]%Mod+sths)%Mod;
// puts("One Hash end");
rva=lva=pubh;
ans=1ll*len*(tim-1);
// puts("Start Che!");
for(int r=1,l=len;r<len;r++,l--){
rva=(rva*Upbit%Mod+tur(st[r]))%Mod;//Add
lva=(lva+hsp2[r-1]*tur(st[l])%Mod)%Mod;
// cout<<r<<" "<<l<<" "<<rva<<" "<<lva<<endl;
if(rva==lva)
ans=max(ans,1ll*r+1ll*len*(tim-1));
// cout<<ans<<endl;
}
// puts("end Che!");
if(ans==0)ans=-1;
printf("%lld\n",ans);
}
}

T2

因为tui改T3而没看

T3

可以使用倍增或是树剖完成。

但是现在方法也没有人成功用树剖AC

有人成功了嘛,可以在下面评论。

(咕!)

最新文章

  1. Prim算法(二)之 C++详解
  2. 搭建PHP环境LAMP(Linux+Apache+MySQL+PHP)
  3. ubuntu12.04下txt文件乱码如何解决
  4. windows下tomcat切割日志按照日期输出
  5. 6个WordPress备份插件
  6. ASP.NET MVC- Controllers and Routing- Controller Overview
  7. 从 mian 函数开始一步一步分析 nginx 执行流程(一)
  8. 第三方分页控件aspnetPager出现问题解决方法
  9. CSS3 边框
  10. c++ 虚析构函数[避免内存泄漏]
  11. AngularJS模块的详解
  12. 关于js的那些事儿
  13. JVM垃圾收集算法(标记-清除、复制、标记-整理)
  14. day02-多线程之线程安全
  15. Dynamics CRM2013/2015 Plugin注册工具Register New Assembly时无法看到注册按钮的解决办法
  16. 使IFRAME在iOS设备上支持滚动
  17. 【Angular专题】——(2)【译】Angular中的ForwardRef
  18. java线程自带队列的使用以及线程阻塞
  19. html position定位
  20. 识骨寻踪第一季/全集Bones迅雷下载

热门文章

  1. 各种版本mysql驱动包下载地址
  2. LUOGU P2261 [CQOI2007]余数求和(数论分块)
  3. 修改web项目的启动页
  4. python相关小技巧整理[持续更新]
  5. work-record:20190618
  6. POJ-2499-Binary Tree-思维题
  7. 通过aapt查看apk包名和第一个启动的activity
  8. &lt;随便写&gt;random函数
  9. P1919 【模板】A*B Problem升级版 /// FFT模板
  10. POJ - 2774~POJ - 3415 后缀数组求解公共字串问题