
回文树
文章平均质量分 79
我不会额
这个作者很懒,什么都没留下…
展开
-
Gym - 100548G The Problem to Slow Down You
题目:给出A,B两个字符串,求A,B中相同的回文串的对数思路:对A,B分别建一个回文树,然后分别从奇数根节点和偶数做一次dfs代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include原创 2017-09-13 09:22:06 · 702 阅读 · 0 评论 -
HDU - 5157 Harry and magic string
题目:给定一个字符串str,求str的不想交的回文子串的对数思路:正向扫一遍,反向扫一遍代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#原创 2017-09-12 22:29:10 · 322 阅读 · 0 评论 -
HDU - 5394 Trie in Tina Town
题目:按要求建一棵树,每个节点有一个字符,求树上的价值=sum(len*cnt),len为回文串长度,cnt为该回文在树上出现了多少次。一共只有a,b,c,d这几种字符,回文串要保证是从上到下的。思路:把last改成数组就可以了,保存每一层的last代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#原创 2017-09-12 19:24:45 · 468 阅读 · 0 评论 -
bzoj2565 最长双回文串
题目:顺序和逆序读起来完全一样的串叫做回文串。比如 acbca 是回文串,而 abc 不是( abc 的顺序为“abc” ,逆序为 “cba” ,不相同)。 输入长度为 n 的串 S ,求 S 的最长双回文子串 T, 即可将 T 分为两部分 X , Y ,( |X|,|Y|≥1 )且 X 和 Y 都是回文串。思路:正向扫一遍,反向扫一遍代码:#pragma commen原创 2017-09-12 14:42:24 · 347 阅读 · 0 评论 -
CodeForces - 17E Palisection 邻接表的回文树
题目:给出一个字符串要求找出多少对有相交部分的回文子串。思路:直接求相交的不好算,我们可以用总对数减去不想交的回文串的对数。Manacher算法:先利用差分数组统计出以输入串的第i个字符结尾的回文串的数量sum1[i],然后令sum2[i] = sum2[i - 1] + sum1[i]作为sum1的前缀和, 那么对于中心为i半径为R[i]的回文串来说, 处在这组回原创 2017-09-12 14:08:51 · 394 阅读 · 0 评论 -
bzoj2160 拉拉队排练
题目:艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训练好拉拉队有多么的重要。拉拉队的选拔工作已经结束,在雨荨和校长的挑选下,n位集优秀的身材、舞技于一体的美女从众多报名的女生中脱颖而出。这些女生将随着篮球队的小伙子们一起,和对手抗衡,为艾利斯顿篮球队加油助威。一个阳原创 2017-09-11 22:10:49 · 751 阅读 · 0 评论 -
bzoj3676 回文串 回文树
题目:考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 Input输入只有一行,为一个只包含小写字母(a -z)的非空字符串s。 Output输出一个整数,为逝查回文子串的最大出现值。 Sample Input【样例输入l】 abaca原创 2017-09-10 23:28:41 · 462 阅读 · 0 评论 -
URAL - 1960 Palindromes and Super Abilities 回文树
题目:给定一个字符串s,输出字符串s1...si (1(1 ≤ len(s) ≤ 10^5)思路:套一下模板就行了代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#i原创 2017-09-10 23:18:32 · 392 阅读 · 0 评论 -
HDU - 5658 CA Loves Palindromic 回文树
题目:给定一个字符串str,Q个询问l,r,问区间[l,r]内本质不同的回文串的个数1≤T≤10, 1≤length≤1000, 1≤Q≤100000, 1≤l≤r≤length思路:字符串长度不大,可以先预处理出来代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#incl原创 2017-09-10 22:54:02 · 377 阅读 · 0 评论 -
HDU - 4426 Palindromic Substring
题目:a-z都表示一个0~25的整数,一个长度为len的回文串的价值由前(len+1)/2个字符组成的26进制整数表示,给出一个字符串,询问第k小的回文子串的价值思路:保存一下节点的价值代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#inc原创 2017-09-13 16:58:48 · 446 阅读 · 0 评论 -
CodeChef - PALPROB Contest Page
题目:一个长度为len的回文串的回文值定义1+这个字符串的前len/2个字符组成的字符串的回文值,如果一个字符串不是回文串,那么它的回文值为0。给你一个字符串,求它的回文子串的回文值之和思路:用half来保存每个字符串的前len/2个字符组成的回文串的节点代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#incl原创 2017-09-13 14:51:29 · 326 阅读 · 0 评论 -
URAL - 2040 Palindromes and Super Abilities 2
题目:对于输入的字符串str (长度不超过5000000, 只包含a, b两种字符) 如果这个字符串从左到右依次加入字符形成str, 当每个字符加入时求新增加的本质不同的回文串的数量思路:新增加的要么是0,要么是1,要注意输入和输出,不然会tle代码:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#in原创 2017-09-13 10:13:54 · 416 阅读 · 0 评论 -
HDU - 5421 Victor and String 在字符串的首尾添加字符
题目:有n种操作,开始给你一个空串,给你4中操作1 c 在字符串的首部添加字符c2 c 在字符串的尾部添加字符c3 询问字符中的本质不同的回文串的个数4 询问字符串中回文串的个数思路:last[0]表示首部的操作的位置,last[1]表示尾部的操作的位置代码:#pragma comment(linker, "/STACK:1024000000,10240000原创 2017-09-12 23:18:47 · 1271 阅读 · 0 评论