19-10-18-Y
2024-10-08 00:09:45
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。
有人成功了嘛,可以在下面评论。
(咕!)
最新文章
- Prim算法(二)之 C++详解
- 搭建PHP环境LAMP(Linux+Apache+MySQL+PHP)
- ubuntu12.04下txt文件乱码如何解决
- windows下tomcat切割日志按照日期输出
- 6个WordPress备份插件
- ASP.NET MVC- Controllers and Routing- Controller Overview
- 从 mian 函数开始一步一步分析 nginx 执行流程(一)
- 第三方分页控件aspnetPager出现问题解决方法
- CSS3 边框
- c++ 虚析构函数[避免内存泄漏]
- AngularJS模块的详解
- 关于js的那些事儿
- JVM垃圾收集算法(标记-清除、复制、标记-整理)
- day02-多线程之线程安全
- Dynamics CRM2013/2015 Plugin注册工具Register New Assembly时无法看到注册按钮的解决办法
- 使IFRAME在iOS设备上支持滚动
- 【Angular专题】——(2)【译】Angular中的ForwardRef
- java线程自带队列的使用以及线程阻塞
- html position定位
- 识骨寻踪第一季/全集Bones迅雷下载
热门文章
- 各种版本mysql驱动包下载地址
- LUOGU P2261 [CQOI2007]余数求和(数论分块)
- 修改web项目的启动页
- python相关小技巧整理[持续更新]
- work-record:20190618
- POJ-2499-Binary Tree-思维题
- 通过aapt查看apk包名和第一个启动的activity
- <;随便写>;random函数
- P1919 【模板】A*B Problem升级版 /// FFT模板
- POJ - 2774~POJ - 3415 后缀数组求解公共字串问题