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

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

(咕!)

19-10-18-Y的更多相关文章

  1. 程序员的 Ubuntu 19.10 配置与优化指南

    原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...

  2. Kubernetes部署通用手册 (支持版本1.19,1.18,1.17,1.16)

    Kubernetes平台环境规划 操作环境 rbac 划分(HA高可用双master部署实例) 本文穿插了ha 高可用部署的实例,当前章节设计的是ha部署双master 部署 内网ip 角色 安装软件 ...

  3. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  4. [java面试]逻辑推理6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现

    题目: 6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少? 10 = 6 + 4         4 18 = 10 + 8        4 + 4  32 = 18 + 14 ...

  5. First Scrum Meeting (2015/10/18)

    会议是在昨晚进行的,本来早就应该写博了,可惜今天校园网炸个不停= =.刚修好就赶紧来发博客. 会议基本要素 会议主题:爬虫项目的核心技术讨论以及项目初期的工作分配 会议时间:2015.10.18 19 ...

  6. 对于最近的一些日常总结by520(17.10.18)

    ---天天考试,各种题型都有,学到了很多新的知识,也发现了自己的许多不足---1.首先,自己的搜索需要加强,特别是广搜,10.18的T1裸广搜没有做对.2.数学的思维和一些逻辑问题需要加强,然后就是要 ...

  7. Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

    在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...

  8. 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue

    [源码下载] 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue 作者:weba ...

  9. 九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <init> 严重: The ResourceConfig instance does not contain any root resource classes.

    Tomcat启动错误:九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <i ...

  10. 下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y),y++);

    下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y) ...

随机推荐

  1. Xadmin+layUi Net框架

    1.引用xadmin  layui 2.autofac+dapper+mvc 3.效果展示 4.github https://github.com/sulin888/LsProject 登录密码:Ad ...

  2. UVA-699-The Falling Leaves-二叉树+递归

    Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on ...

  3. SpringBoot--Banner的定制和关闭

    SpringBoot项目启动的时候控制台会打印如下信息: 上面红色框框内的“SPRING BOOT”被称为Banner,意为横幅,默认会开启并在控制台打印,其实我们可以修改它的内容和样式,即定制:并选 ...

  4. Google Chrome浏览器安装xpath helper插件

    1. 图中桌面的两个2.0.2_0文件就是xpath helper插件. --------------------------------------------------------------- ...

  5. shell 一些题目

    在a.log中精确查找含有msyql单词的行a.log文件内容如下: mysqlmysql mysqlmysql aa mysql_mysqla mysql b_mysql aa _mysqla _m ...

  6. js实现把多个数据分成3个一组

    主要代码: var stuCount = res.data; if (stuCount.length>0){ var objList = new Object(); var arr = new ...

  7. LUOGU P1313 计算系数 (组合数学)

    解题思路 比较简单的题,用二项式定理即可. #include<iostream> #include<cstdio> #include<cstring> #inclu ...

  8. python 编程 一次错误记录 -1073740791

    原因是发生在我错把类当做实例化对象使用了

  9. Office宏的基本利用

    前言 Office宏,译自英文单词Macro.宏是Office自带的一种高级脚本特性,通过VBA代码,可以在Office中去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动 ...

  10. 最新MySQL5.7.3.0版本安装(图文版本)

    转自:http://www.myexception.cn/mysql/1609536.html 可以从http://dev.mysql.com/downloads/下载MySQL服务器安装软件包,我下 ...