1355: [Baltic2009]Radio Transmission|Kmp
2016-03-04 21:39
316 查看
首先我要吐槽一下HINT..smg 你以为这样说我们就看不出这题是kmp啦...
kmp求出pre数组答案就是n-pre
似乎很显然,可以令t=n−pre[n]t=n-pre
然后s[n]=s[n−t]=s[n−2∗t]=s[n−3∗t]....s
=s[n-t]=s[n-2*t]=s[n-3*t]....对于其他的下标也是如此
kmp求出pre数组答案就是n-pre
似乎很显然,可以令t=n−pre[n]t=n-pre
然后s[n]=s[n−t]=s[n−2∗t]=s[n−3∗t]....s
=s[n-t]=s[n-2*t]=s[n-3*t]....对于其他的下标也是如此
[code]#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<vector> #include<cstdio> #include<queue> #include<cmath> #include<set> #include<map> #define N 1000005 using namespace std; char s ; int pre ,n; int main() { scanf("%d\n",&n);gets(s+1); int now=0; pre[1]=0; for(int i=2;i<=n;i++) { while(now&&s[now+1]!=s[i]) now=pre[now]; if(s[now+1]==s[i])now++; pre[i]=now; } cout<<n-pre ; return 0; }
相关文章推荐
- leetcode-Lowest Common Ancestor of a Binary Search Tree
- Linux日常运维管理命令
- iOS陆先森开发随笔(四)tablview点击push到下一个页面,pop出来时位置下移问题
- ZOJ 2770 Burn the Linked Camp【差分约束 SPFA】
- OSWatcher Analyzer User Guide (文档 ID 461053.1)
- 移位非递归最大堆
- php 依据字符串生成相应数组方法
- XMLSAX解析
- 第四十二天
- 程序员每天自我洗脑和催眠
- Struts2基础(web.xml文件)
- 递归移位堆
- js获取上传的文件名
- LeetCode 49 - Group Anagrams
- LINQ的预备知识
- HDU Fire Net
- eclipse内存溢出报错:java.lang.OutOfMemoryError:Java heap space
- 《Java多线程编程核心技术》推荐
- 《Java多线程编程核心技术》推荐
- 《Java多线程编程核心技术》推荐