马拉车
Dan__ge
Today is difficult,tomorrow is more difficult,but the day after is beautiful.
展开
-
POJ 3974 Manacher模版题
点击打开链接题意:求最长回文子串思路:Manacher算法的强大这里不解释了,推荐一篇很好的Manacher详解点这里#include #include #include #include #include using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int maxn=100原创 2016-04-12 12:35:06 · 696 阅读 · 0 评论 -
HDU 4513 Manacher小小变形
点击打开链接题意:中文题目思路:求的东西也是一个最长回文子串,不过多了一个最左侧到中间递增,只要改一下Manacher模版找中间时候的条件就可以水过了,下面还有解释#include #include #include #include #include using namespace std;typedef long long ll;const int inf=0x3f3f3原创 2016-04-12 13:15:09 · 1071 阅读 · 0 评论 -
HDU 3294 Manacher模版题
点击打开链接题意:求最长回文子串所在的区间,然后第一个字符代表a,以后的顺推,最后输出这个区间顺推后的串思路:Manacher轻松水过,记录下最长回文串的位置和长度就行了,然后输出时自己处理一下,大水题.......#include #include #include #include #include using namespace std;typedef long long原创 2016-04-12 14:45:28 · 738 阅读 · 0 评论 -
HDU 3068 Manacher 模版题
点击打开链接题意:求最长回文子串思路:Manacher 算法水过,推荐这位大牛的证明证明#include #include #include #include #include using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int maxn=110010;char str[m原创 2016-03-26 16:52:25 · 541 阅读 · 0 评论 -
HDU 3613 Manacher应用
点击打开链接题意:上面的数字是26个字母的价值,接下来26个英文字母组成的字符串,将它分成两份,如果分后的串是回文串,则这个串的价值是这个串的所有字母的和,如果不是回文串则这个串价值为0思路:简单的回文串的变形,先将到每个位置的价值预处理出来然后将字符串跑一边马拉车,我枚举切每个位置的价值和,如现在枚举的是切第三个的位置,则判断一下前三个位置能否形成回文串,那么我们只用判断第二个位置的le原创 2016-04-19 11:15:49 · 2020 阅读 · 0 评论 -
HDU 5371 Manacher
点击打开链接题意:给定一串数字,求最长的一段连续的数字,将它平均分为三段,满足第一段和第二段是回文的,第一段和第三段相等思路:第一段和第二段是回文的,那么第二段和第三段也是回文的,将数列进行Manacher,之后处理len1数组即可,做法是枚举第二段的开头和长度,当然要有限制条件,不然感觉要超时,记录最大的每段长度为ans,那么只有当len1[i]/2的值大于ans时才继续执行,然后通过第原创 2016-04-19 14:29:16 · 814 阅读 · 0 评论