[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)
来源:互联网 发布:linux 文件拷贝命令 编辑:程序博客网 时间:2024/05/16 12:36
https://vjudge.net/contest/70325#problem/K HDU 3336
题意:求字符串所有前缀在原串出现的次数
思路:对自己求extend数组,遍历一遍相加就是结果.
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn=200000+5;char mode[maxn];int nextt[maxn];void getNext(char mode[],int nextt[],int modeLen){int i,a,p;a=p=0;nextt[0]=modeLen;for(i=1;i<modeLen;i++){if(i>=p || i+nextt[i-a]>=p){if(i>=p) p=i;while(p<modeLen && mode[p]==mode[p-i]) ++p;nextt[i]=p-i;a=i;}else nextt[i]=nextt[i-a];}}int main(){int T;scanf("%d",&T);while(T--){int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf(" %c",&mode[i]);}mode[n]='\0';int modeLen=strlen(mode);getNext(mode,nextt,modeLen);long long ans=0;for(int i=0;i<modeLen;i++){ans=(ans+nextt[i]%10007)%10007;}printf("%lld\n",ans);}return 0;}
阅读全文
0 0
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher L(kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K HDU 3336
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP
- 【 题集 】 【kuangbin带你飞】专题十六 KMP & 扩展KMP & Manacher
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher A HDU 1711
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher B HDU 1686
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher C HDU 2087
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher D HDU 3746
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher E HDU 1358
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher F HUST 1010
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher G POJ 2406
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher H POJ 2752
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I POJ 3080
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J HDU 2594
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher(1) A-H
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher 题目分析
- revit 2015激活注意事项
- 用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。 unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那
- Spring3MVC+Mybatis3.1框架下的事务
- 对抗样本和深度对抗网络
- 实现第一个Servlet程序(一)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)
- 【XSY1081】随机存储器 网络流
- libcurl获取网页内容的C/C++代码
- Git管理多个SSH密钥,Git多帐号配置
- Markdown 语法和 MWeb 写作使用说明
- 递推公式 【黑科技】
- Sigma Function LightOJ
- docker容器中安装vim,nginx等出现Unable to locate package
- hdu 3038 How Many Answers Are Wrong——带权并查集