自己写一写吧。。。第二次复习这个知识点,觉得好多了
就是维护一个最远的回文串,利用对称性,如果不符合对称就暴力,最多扩展n次,时间复杂度得以保证。
Code(我觉得比上一次好)

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char a[11000005];
char s[22000005];
int f[22000005];
int len;
int l;
inline void init()
{scanf("%s",a);int l=strlen(a);s[0]='!';s[1]='#';len=1;for(int i=0;i<l;i++){s[++len]=a[i];s[++len]='#';}
}
inline void manacher()
{f[1]=1;int mid=1;for(int i=2;i<=len;i++){f[i]=min(f[mid*2-i],mid+f[mid]-i);//对称点 while(i+f[i]<=len&&s[i+f[i]]==s[i-f[i]])f[i]++;//暴力拓展 if(i+f[i]>=f[mid]+mid)mid=i;//更新maxright }
}
inline void print()
{int maxx=-1;for(int i=1;i<=len;i++)maxx=max(maxx,f[i]-1);printf("%d",maxx);
}
int main()
{init();    manacher();print();return 0;
}

manacher魔板相关推荐

  1. java51游戏_Java作业实践(一)魔板游戏

    课题:魔板游戏 一.课设要求 1.基本功能 (1)游戏规则 一个3×3的魔板,有一个格子是空的,其他格子内随机放置1-8共8个编号的方块,通过单击任意一个与空格子相邻的方块可以把该方块移入空格子,不断 ...

  2. P2730 魔板 Magic Squares

    不看题解肯定不会系列... 这道题可以用Cantor展开解决. Cantor展开可以求出一个数组是在全排列中的第几个. 具体怎么操作自己百度. Cantor展开的公式是:\(a[1] * (n - 1 ...

  3. 【题解】Luogu P2730 魔板

    蒟蒻的第一道蓝题--好像也没有蓝的程度 一篇无STL的超弱题解(入门写法无误了QAQ 传送门 很经典的一道BFS 这是初始状态. 操作A 操作B 操作C 思路1 不使用cantor展开的情况 1. 对 ...

  4. 洛谷P2730 [IOI]魔板 Magic Squares

    题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色.这8种颜 ...

  5. Magic Squares 魔板 (BFS+HASH)

    Description 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8 ...

  6. HDU 1430 魔板(康托展开+BFS+预处理)

    魔板 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  7. hdu.1430.魔板(bfs + 康托展开)

    魔板 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  8. 魔板(洛谷-P2730)

    题目描述 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8个 ...

  9. 魔板(信息学奥赛一本通-T1449)

    [题目描述] 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前 ...

  10. USACO 3.2 Magic Squares 魔板

    题目大意: 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8 ...

最新文章

  1. Arduino教程资料汇总(8月22日悄悄跟新了一下)
  2. python数值运算m op n 100+10_python 100例(10)
  3. Node.js 开发者 2020 年度报告
  4. mysql游标表间数据迁移_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表...
  5. 北美地区IPv4地址已用完,网络IP地址告急?
  6. MySQL密码忘记,怎么办?
  7. 【Python】:拓展Queue实现有序不重复队列
  8. jQuery特效:实现网站导航抖动效果
  9. 智能家居APP设计规格
  10. [vmware]解析单一GHO文件如何安装操作系统
  11. 加拿大康考迪亚计算机工程,加拿大康考迪亚
  12. 2022年大数据BI工程师项目实训介绍
  13. Chrome浏览器安装本地插件
  14. 人事面试问题回答思路
  15. 桌面 计算机屏蔽,Win10家庭版如何禁止别人修改电脑桌面壁纸?
  16. dev stg prd 开发 测试 生产环境
  17. 孪生素数猜想,不值一提
  18. 京东夺宝岛抢拍插件(转)
  19. 读Python源码(三)Python列表的表示
  20. 2021年“金三银四”来袭!2021年阿里+头条+腾讯大厂Android笔试真题,含答案解析

热门文章

  1. WSL和双系统Ubuntu的CPU性能差异
  2. Unity ECS Sample解析(1)
  3. 谷歌神经网络机器翻译NMT:人人可利用TensorFlow快速建立翻译模型
  4. Docker一探究竟
  5. 精简ttf,svg字体库文件,删除多余字体,保留用到字体
  6. 部署ecshop网站
  7. mysql 特殊符号_mysql 特殊字符问题
  8. speedoffice表格的外框线怎么设置?
  9. html中的embed标签属性,html中Embed标签的语法和属性设置
  10. 电脑开启wifi热点