
Manacher
v5zsq
新的一天,新的不会
展开
-
POJ 3974 Palindrome(Manacher)
Description 求一个串的最长回文子串的长度 Input 多组用例,每组用例占一行为一个长度不超过10^6的由小写字母组成的字符串,以END结束输入 Output 对于每组用例,输出该串最长回文子串的长度 Sample Input abcbabcbabcba abacacbaaaab END Sample Output Case 1: 13 Case 2: 6 So原创 2016-08-03 14:11:27 · 570 阅读 · 0 评论 -
HDU 3068 最长回文(Manacher)
Description 给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input 输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c…y,z组成的字符串S 两组case之间由空行隔开(该空行不用处理) 字符串长度len <= 110000 Output 每一行一个整数x原创 2016-08-03 14:13:40 · 475 阅读 · 0 评论 -
HDU 4513 吉哥系列故事——完美队形II(Manacher)
Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] … h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形: 1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的; 2、左右对称,假设有m个人形成新的队形,则第1个人和第m个人身高相同,原创 2016-08-03 14:16:30 · 753 阅读 · 0 评论 -
HDU 5371 Hotaru's problem(Manacher)
Description 定义一个子串,子串由三部分组成,其中第一部分和第三部分相同,第一部分和第二部分对称。给出一个n个数的序列,问序列中最长的符合要求的子串的长度 Input 第一行一整数T表示用例组数,每组用例首先输入一整数n表述序列长度,之后n个整数ai表示该序列(T<=20,n<=100000,0<=ai<=10^9) Output 对于每组用例,输出序列中最长的符合要求的子串的长原创 2016-08-03 14:26:20 · 422 阅读 · 0 评论 -
HDU 5785 Interesting(Manacher)
Description 给出一个字符串,问所有满足条件的i*k的和,i和k满足条件是指i到j和j+1到k是回文串 Input 多组用例,每组用例输入一个长度不超过1e6的字符串,以文件尾结束输入 Output 对于每组用例,输出满足条件的i*k的和,结果模1e9+7 Sample Input aaa abc Sample Output 14 8 Solution 首先少不了原创 2016-08-26 10:58:34 · 463 阅读 · 0 评论 -
SPOJ 15569 STC02 - Antisymmetry(Manacher)
Description 给出一个长度为n的01串,问其有多少子串满足反串等于该串按位取反后的串 Input 第一行一整数n表示串长,之后一个长度为n的01串(1<=n<=5e5) Output 输出满足条件的子串数 Sample Input 8 11001011 Sample Output 7 Solution 满足条件的子串必为偶数长度且从中心开始往两边是一个0一个1,用M原创 2017-04-10 16:17:52 · 438 阅读 · 0 评论 -
Newcoder 58 C.最长回文(Manacher+二分+hash)
Description 有两个长度均为nnn的字符串AAA和BBB。可以从AAA中选一个可以为空的子串A[l1..r1]A[l_1..r_1]A[l1..r1],BBB中选一个可以为空的子串B[l2..r2]B[l_2..r_2]B[l2..r2],满足r1=l2r_1=l_2r1=l2,然后把它们拼起来(A[l1..r1]+B[l2..r2])(A[l_1..r_1]+B[l_2.....原创 2018-10-22 10:53:58 · 360 阅读 · 0 评论 -
Newcoder 39 C.回文串的交集(Manacher+组合数学)
Description 给一个长为nnn 的只含小写字母的字符串 设总共有$ x$ 个回文连续子串 在这$ x$ 个子串中任选不同的两个,有公共部分的方案数 答案对 100000000710000000071000000007 取模 Input 第一行一个正整数nnn 第二行一个长为nnn的字符串 (n≤2⋅106)(n\le 2\cdot 10^6)(n≤2⋅106) output 输出一个整数...原创 2018-10-23 09:16:34 · 465 阅读 · 0 评论