[NOI2014]动物园 【kmp】
题目描述
每次写kmp都要调一万年
这题主要两个数组next[]next[]和num[]num[]
num[i]num[i]表示以ii结尾的前缀所能匹配的数量(可重叠的)
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
using namespace std;
const int L=1000010, mod=1000000007;
int n, next[L], num[L], ans;
char s[L];int main()
{cin>>n;while(n--) {ans=1;char c=getchar(); while(c < 'a' || c > 'z') c=getchar();int cnt=0; while(c >= 'a' && c <= 'z') s[++cnt]=c, c=getchar();memset(next, 0, sizeof(next)); memset(num, 0, sizeof(num));num[1]=1;for(int i=2, j=0; i<= cnt; i++){while(j && s[i] != s[j+1]) j=next[j];if(s[i] == s[j+1]) j++; next[i]=j; num[i]=num[j]+1;//printf("%d %d\n", next[i], num[i]);} for(int i=2, j=0; i <= cnt; i++){while(j && s[i] != s[j+1]) j=next[j]; if(s[i] == s[j+1]) ++j;while(j*2 > i) j=next[j]; ans=((long long)ans*(num[j]+1))%mod;}printf("%d\n", ans);}return 0;
}
转载于:https://www.cnblogs.com/zerolt/p/9260879.html
[NOI2014]动物园 【kmp】相关推荐
- P2375 [NOI2014] 动物园 kmp fail指针/倍增
传送门 文章目录 题意: 思路: 题意: 思路: 由kmpkmpkmp中失配数组nenene的含义我们知道,ne[i],ne[ne[i]],...ne[i],ne[ne[i]],...ne[i],ne ...
- bzoj 3670: [Noi2014]动物园 kmp与扩展kmp
bzoj 3670: [Noi2014]动物园容 Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才 ...
- BZOJ3670 [Noi2014]动物园 【KMP计数】
3670: [Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 3143 Solved: 1690 [Submit][Stat ...
- bzoj 3670 [NOI2014]动物园
3670: [Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2032 Solved: 1077 [Submit][Stat ...
- bzoj3670 [Noi2014]动物园
[Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MB Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游 ...
- bzoj-3670 [Noi2014]动物园
3670: [Noi2014]动物园 题目链接 时间限制: 10 Sec 内存限制: 512 MB 提交: 3558 解决: 1925 [提交][][] 题目描述 近日,园长发现动物园中好吃懒做的动物 ...
- [BZOJ]3670 [NOI]2014 动物园 KMP好题
3670: [Noi2014]动物园 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 3045 Solved: 1646 [ Submit][ ...
- 洛谷P2375 [NOI2014] 动物园 题解
洛谷P2375 [NOI2014] 动物园 题解 题目链接:P2375 [NOI2014] 动物园 题意: 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物 ...
- 【NOI2014】动物园 kmp性质
对于字符串\(S\)的前\(i\)个字符构成的子串,既是它的后缀又是它的前缀的字符串中,它本身除外,最长的长度记作 \(next[i]\) 真是精炼的定义 char s[maxn];int n; in ...
最新文章
- python添加数组元素_Python列表附录–如何向数组添加元素,并附带示例说明
- 因果图方法中的基本符号
- 从技术上还原入侵雅虎服务器是怎么一回事
- 在Python中使用正则表达式去掉字符串里的html标签
- What's going on in background?
- 【十二省联考2019】希望【点边容斥】【换根dp】【长链剖分】【线性数据结构】【回退数据结构】【离线逆元】
- go和python性能对比_Go和Python Web服务器性能对比
- 字节跳动的首款获批游戏曝光 原来是这个
- PostgreSQL\GPDB 多维数据透视典型案例分享
- 解决Vue循环中子组件不实时更新的问题
- Java学习笔记-12.传递和返回对象
- OpenV2X开源社区亮相全球边缘计算大会
- LiveQing私有云流媒体-云端录像时间轴视频及列表视图
- iOS10 更新后问题,获取相册,录音时候闪退问题
- 2020年国内外值得关注的15家PaaS平台与SaaS厂商!
- 欢迎大家来到第二期【产品家·实战营】
- jenkins部署的时候WARNING: IPv4 forwarding is disabled. Networking will not work.
- JSP开发模型与MVC设计模型
- [OpenVas/Gvm]Failed to find config ‘085569ce-73ed-11df-83c3-002264764cea‘
- 名悦集团:冬季汽车保养怎么做才到位
热门文章
- python将照片转文字_Python将图片转化成文字
- 判断一个窗口是否有焦点_判断一个项目是否值得加盟的基本方法
- 安徽信息技术初中会考上机考试模拟_中学信息技术上机操作考试技巧
- java 静态方法中为什么不可以使用关键字this _super_Java static方法里为什么不能使用this关键字,和Super...
- PTA团体程序设计天梯赛篇(五)---- 难题篇一(30分题目)
- 不建议在Docker中部署数据库
- Mysql在Windows上离线安装与配置
- VSCode来绘制流程图真是得心应手
- Electron中提示:Refused to execute inline event handler because it violates
- Winform中实现自定义屏保效果(附代码下载)