manacher魔板
自己写一写吧。。。第二次复习这个知识点,觉得好多了
就是维护一个最远的回文串,利用对称性,如果不符合对称就暴力,最多扩展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魔板相关推荐
- java51游戏_Java作业实践(一)魔板游戏
课题:魔板游戏 一.课设要求 1.基本功能 (1)游戏规则 一个3×3的魔板,有一个格子是空的,其他格子内随机放置1-8共8个编号的方块,通过单击任意一个与空格子相邻的方块可以把该方块移入空格子,不断 ...
- P2730 魔板 Magic Squares
不看题解肯定不会系列... 这道题可以用Cantor展开解决. Cantor展开可以求出一个数组是在全排列中的第几个. 具体怎么操作自己百度. Cantor展开的公式是:\(a[1] * (n - 1 ...
- 【题解】Luogu P2730 魔板
蒟蒻的第一道蓝题--好像也没有蓝的程度 一篇无STL的超弱题解(入门写法无误了QAQ 传送门 很经典的一道BFS 这是初始状态. 操作A 操作B 操作C 思路1 不使用cantor展开的情况 1. 对 ...
- 洛谷P2730 [IOI]魔板 Magic Squares
题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色.这8种颜 ...
- Magic Squares 魔板 (BFS+HASH)
Description 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8 ...
- HDU 1430 魔板(康托展开+BFS+预处理)
魔板 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- hdu.1430.魔板(bfs + 康托展开)
魔板 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- 魔板(洛谷-P2730)
题目描述 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8个 ...
- 魔板(信息学奥赛一本通-T1449)
[题目描述] 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前 ...
- USACO 3.2 Magic Squares 魔板
题目大意: 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8 ...
最新文章
- Arduino教程资料汇总(8月22日悄悄跟新了一下)
- python数值运算m op n 100+10_python 100例(10)
- Node.js 开发者 2020 年度报告
- mysql游标表间数据迁移_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表...
- 北美地区IPv4地址已用完,网络IP地址告急?
- MySQL密码忘记,怎么办?
- 【Python】:拓展Queue实现有序不重复队列
- jQuery特效:实现网站导航抖动效果
- 智能家居APP设计规格
- [vmware]解析单一GHO文件如何安装操作系统
- 加拿大康考迪亚计算机工程,加拿大康考迪亚
- 2022年大数据BI工程师项目实训介绍
- Chrome浏览器安装本地插件
- 人事面试问题回答思路
- 桌面 计算机屏蔽,Win10家庭版如何禁止别人修改电脑桌面壁纸?
- dev stg prd 开发 测试 生产环境
- 孪生素数猜想,不值一提
- 京东夺宝岛抢拍插件(转)
- 读Python源码(三)Python列表的表示
- 2021年“金三银四”来袭!2021年阿里+头条+腾讯大厂Android笔试真题,含答案解析