hdu 3746 Cyclic Nacklace (kmp算法)
来源:互联网 发布:金融行业的数据分析 编辑:程序博客网 时间:2024/06/04 00:09
求周期串,从末尾开始观察是否有周期串,没有就加一个和p[i]+1相等的字符,直到出现周期串
#include<iostream>#include<string>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;string a;int len;int p[100005];int init(){ int i,j; i=0; j=-1; p[0]=-1; while(i<a.size()) { if(j==-1||a[i]==a[j]) { p[++i]=++j; } else j=p[j]; } int t=p[i]; while(t==0||i%(i-t)!=0)//找循环节 { i++; t++; } return (i-a.size());}int main(){ std::ios::sync_with_stdio(false); int t; cin>>t; while(t--) { cin>>a; len=a.size(); int i; int ans=0x3f3f3f3f; ans=min(ans,init()); reverse(a.begin(),a.end()); cout<<min(ans,init())<<endl; } return 0;}
0 0
- hdu 3746 Cyclic Nacklace (kmp算法)
- HDU 3746 Cyclic Nacklace kmp算法
- KMP hdu-3746-Cyclic Nacklace
- HDU 3746 Cyclic Nacklace(KMP)
- HDU 3746 Cyclic Nacklace KMP
- HDU 3746 Cyclic Nacklace KMP
- HDU 3746 Cyclic Nacklace KMP
- hdu 3746 Cyclic Nacklace(KMP)
- HDU 3746 Cyclic Nacklace KMP
- hdu 3746 Cyclic Nacklace(KMP)
- HDU 3746 Cyclic Nacklace / KMP
- HDU--3746--Cyclic Nacklace【KMP】
- hdu-3746 Cyclic Nacklace 【kmp】
- hdu 3746 Cyclic Nacklace ( kmp )
- HDU-3746 Cyclic Nacklace (kmp)
- [hdu 3746] Cyclic Nacklace [kmp]
- hdu 3746 Cyclic Nacklace kmp
- hdu 3746 Cyclic Nacklace (KMP)
- servlet 中的 <load-on-startup> 配置
- Java 嵌套类和内部类示例<二>
- Windows CE内核启动分析
- 设计模式——工厂模式(方法模式)
- Deep Learning(深度学习)学习笔记整理系列之(八)
- hdu 3746 Cyclic Nacklace (kmp算法)
- 字符类型转化
- MYSQL 连接中断次数限制 mysql:is blocked because of many connection errors解决方案
- Windows三种内存分配机制
- S3C2450 Bootloader调试总结之一
- JVM工作原理
- 黑马程序员_JAVA之异常、File类、递归
- 四川建筑技术中等专业学校
- Java 嵌套类和内部类示例<三>