【HDU5785】Interesting [Manacher]】的更多相关文章

Interesting Time Limit: 30 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description Input Output Sample Input 2 aaa abc Sample Output 14 8 HINT Source 我们先找一下这道题的本质,根据乘法分配律,我们可以使得:cntL[i]表示以 i 开始的是回文串的下标和,cntR[i]表示以 i 结束的回文串的下标和,那么这时候答案显然就是cntR[…
[BZOJ3160]万径人踪灭 Description Input Output Sample Input Sample Output HINT 题解:自己想出来1A,先撒花~(其实FFT部分挺裸的) 做这道题,第一思路很重要,显然看到这题的第一想法就是ans=总数-不合法(不要问我为什么显然).因为向这种用补集法的题一般都会给一些很奇葩的限制条件,但是一旦换个角度去想就很水了,好了不多说废话了. 显然,不合法的情况,也就是连续的回文区间的方案数,我们直接上Manacher就搞定了嘛!答案就是所…
[SPOJ]NUMOFPAL - Number of Palindromes(Manacher,回文树) 题面 洛谷 求一个串中包含几个回文串 题解 Manacher傻逼题 只是用回文树写写而已.. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<…
[BZOJ3160]万径人踪灭(FFT,Manacher) 题面 BZOJ 题解 很容易想到就是满足条件的子序列个数减去回文子串的个数吧... 至于满足条件的子序列 我们可以依次枚举对称轴 如果知道关于这个位置对称的位置的组数 就很容易算了(直接\(2^k-1\)) 而关于这个位置对称是什么东西? \(s[x-i]=s[x+i]\) 也就是说,如果两个位置关于\(x\)位置对称,那么 \((x-i)+(x+i)=2x\) 也就是两个位置的坐标的和等于\(2x\) 这个玩意不就像一个卷积卷积了?…
[BZOJ4755]扭动的回文串(Manacher,哈希) 题面 BZOJ 题解 不要真的以为看见了回文串就是\(PAM,Manacher\)一类就可以过. 这题显然不行啊. 我们主要考虑如何解决跨串拼接的回文串. 我们直接枚举回文中心, 即使要跨串,在最优情况下,也一定包含了这个回文中心的最长回文串 那么二分+哈希即可. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring&…
[BZOJ3790]神奇项链 Description 母亲节就要到了,小 H 准备送给她一个特殊的项链.这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色.为了制作这个项链,小 H 购买了两个机器.第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有一个特殊的性质:假如一个字符串的后缀和一个字符串的前缀是完全相同的,那么可以将这个重复部分重叠.例如:aba和aca连接起来,可以生成串abaaca或 abaca.现在给出目标项链的样式,询问…
[BZOJ2565]最长双回文串 Description 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同).输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串. Input 一行由小写英文字母组成的字符串S. Output 一行一个整数,表示最长双回文子串的长度. Sample Input baacaabbacabb Sample Output 12 HI…
[题目大意] 输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串. [思路] 首先普通地求manacher,然后求出以每个位置为左端点和右端点的最长回文串长度l[i]和r[i]. l[i]=max{2*(j-i+1)-1}(j+p[j]-1>=i),r[i]同理.显然可以用单调队列维护一下. *网上好像大家没有用单调队列?我不清楚因为我只想出了单调队列的做法quq 然后枚举一下.为了处理方便,我们只枚举'#'位置,这样能够保证除去该'#…
[BZOJ3325][Scoi2013]密码 Description Fish是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息: 1. 该密码的长度为N. 2. 密码仅含小写字母. 3. 以每一个字符为中心的最长回文串长度. 4. 以每两个相邻字符的间隙为中心的最长回文串长度. 很快Fish 发现可能有无数种满足条件的密码.经过分析,他觉得这些密码中字典序最小的一个最有可能是…
好久没写算法学习博客了 比较懒,一直在刷水题 今天学一个用于回文串计算问题manacher算法[马拉车] 回文串 回文串:指的是以字符串中心为轴,两边字符关于该轴对称的字符串 ——例如abaaba 最大回文子串:一个字符串的最大的子串,满足这个子串是回文串 ——例如abcababa的最大回文子串是ababa 求最大回文子串 朴素算法:枚举中心i,向两边扩展,复杂度O(n2) 改进算法: manacher 朴素算法中,我们在计算以i为中心的回文串时会产生对原先字符的重复遍历,导致效率低下,而man…