poj3974 Palindrome(manacher)
来源:互联网 发布:mac vpn推荐 编辑:程序博客网 时间:2024/05/16 07:05
一把好水???
#include <cstdio>#include <cstring>#define N 1000010char str[N],s[N<<1];int p[N<<1],n,tst=0;template <typename T>inline T min(T x,T y){return x<y?x:y;}int main(){// freopen("a.in","r",stdin); while(1){ scanf("%s",str+1); if(str[1]=='E') break;++tst; int len=strlen(str+1);n=0; for(int i=1;i<=len;++i) s[++n]='#',s[++n]=str[i]; s[++n]='#'; int id=0,ans=0; for(int i=1;i<=n;++i){ int mx=id+p[id]; if(i<mx) p[i]=min(p[(id<<1)-i],mx-i); else p[i]=1; while(i-p[i]>=1&&i+p[i]<=n&&s[i-p[i]]==s[i+p[i]]) ++p[i]; if(i+p[i]>mx) id=i; if(p[i]>ans) ans=p[i]; } printf("Case %d: %d\n",tst,ans-1); } return 0;}
阅读全文
0 0
- POJ3974 Palindrome (manacher算法)
- 【POJ3974】【Palindrome】【Manacher裸题】
- POJ3974 Palindrome(Manacher)
- poj3974 Palindrome(manacher)
- [学习][poj3974]manacher Palindrome
- poj3974 Palindrome(manacher)
- poj3974 Palindrome,回文串,Manacher
- POJ3974 Palindrome(Manacher算法)
- poj3974:Palindrome(manacher模板)
- Palindrome(poj3974)(manacher算法)
- 【POJ3974】Palindrome Manacher、模板题 裸题
- POJ3974 Palindrome 解题报告【字符串】【Manacher】
- hdu3068 最长回文 poj3974 Palindrome(Manacher算法)
- POJ3974 Palindrome
- poj3974 Palindrome
- poj3974 Palindrome
- POJ3974 Palindrome
- poj3974之manacher算法
- 建造者模式--一种更好的方法去装配复杂的实例
- springboot的错误页面设置
- <泛型>的认识
- 自定义String类
- 初学 linux NFS
- poj3974 Palindrome(manacher)
- LintCode :Big Integer Addition
- 数据结构:链表栈
- POJ3133 Manhattan Wiring(难题 较为复杂)
- 鼠标滚轮事件之支付宝案例
- ICG博弈游戏的必胜策略
- 用Apache Spark进行大数据处理之Spark SQL(2)
- 例说数据结构&STL(四)——queue
- 逻辑回归LogisticRegression