在原字符串每个字符间各插入一个未曾出现的字符,在字符串头插入另一个未出现的字符防止越界,求出的p[i]-1既为以i为中心的最长回文串的长度

  void manacher(){
int mx=,id;
for (int i=;i<=n;i++){
if (mx>=i) p[i]=min(p[*id-i],mx-i);else p[i]=;
while (b[i+p[i]]==b[i-p[i]]) p[i]++;
if (p[i]+i>mx) {mx=p[i]+i;id=i;}
}
}

最新文章

  1. 丰富“WinForms” 的一个别样&quot;项目&quot;(学生管理)
  2. ellipsis
  3. Android adt v22.6.2 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现
  4. try catch finally 用法
  5. Oracle select case when
  6. mongodb的优化
  7. Egret 纹理、计时器
  8. asp.net后台的一些操作
  9. hdu_1074_Doing Homework(状压DP)
  10. 开源第三方登录组件OAuthLogin2.0 解析及开源地址
  11. 201521123039 《java程序设计》第七周学习总结
  12. 日志模块---logging
  13. 通过Performance Log确定磁盘有性能问题?
  14. JAVA获取汉字拼音首字母
  15. BZOJ3224/LOJ104 普通平衡树 pb_ds库自带红黑树
  16. 009 jquery过滤选择器-----------(表单对象属性过滤选择器 与 表单选择器)
  17. zclip复制到剪切板插件有个bug
  18. centos7 防火墙与端口设置、linux端口范围
  19. 【.NET】学习SQLite(1)
  20. java之IO整理(下)

热门文章

  1. 在Autodesk应用程序商店发布基于浏览器的Web应用程序
  2. iOS字体
  3. Memcache学习整理
  4. ORACLE外部表总结
  5. Linux系统查看系统是32位还是64位方法总结
  6. MS SQL 需要定期清理日志文件
  7. Linux 日志报错 xxx blocked for more than 120 seconds
  8. 特定IP访问远程桌面
  9. nodejs 使用Google浏览器进行可视化调试——Node Inspector工具
  10. Linux系统中 安装Vmware Toolst工具