回文串
sunyutian1998
这个作者很懒,什么都没留下…
展开
-
Best Reward HDU - 3613
http://acm.hdu.edu.cn/showproblem.php?pid=3613 马拉车存模板 求出每个回文中心的回文半径 枚举端点 看两边是为回文即可 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn=1e...原创 2018-10-08 09:39:20 · 162 阅读 · 0 评论 -
吉哥系列故事——完美队形II HDU - 4513
http://acm.hdu.edu.cn/showproblem.php?pid=4513 在扩展回文半径时加上判断大小就好 #include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; int tmp[maxn],ary[2*maxn],book[2*maxn]; int n; int solve...原创 2018-10-08 12:22:37 · 174 阅读 · 0 评论 -
Hotaru's problem HDU - 5371
http://acm.hdu.edu.cn/showproblem.php?pid=5371 直接暴力也可以过 不理解 还是线段树优化 对每个偶数回文中心 求出回文半径 只要两个回文中心互相在对方回文半径范围之内 那就是一个题目要求的串 然后用 回文中心+回文半径=最远到达距离 建立线段树 然后从左到右扫一遍 对每个位置 看自己左边回文半径内能覆盖自己的最远即最小的回文中心位置 找到后作差即...原创 2018-10-09 09:32:58 · 225 阅读 · 0 评论 -
Strings in the Pocket ZOJ - 4110
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4110 先看两个字符串是否相等 若相等则直接用马拉车求回文半径即可 否则 找出l和r来 满足[0,l-1]与[r+1,n-1]内两字符串相等 然后看两字符串[l,r]内是否完全相反 若不完全相反 即翻转后仍无法相等则输出0 否则就以(l+r)/2即不相等子串的中心 左右...原创 2019-05-09 10:38:53 · 198 阅读 · 0 评论