-----------字符串-----------
MaxMercer
成都七中学生,OIer
展开
-
[BZOJ]2565 最长双回文串 Manacher+单调队列
题解 枚举每一个点左边最远能覆盖自己(或离自己差一个)的回文串中心(注意manacher求出来回文串是最长回文串),右边最远能覆盖自己的回文中心,所以两者之差乘以2就是再每个点取max就是答案,由于有’#‘号,那么实际上不用乘以2.对于最远能覆盖自己的我们用单调队列来维护.我们再考虑’#‘实际就是两个相邻任意的回文串的间隔.所以来回两遍单调队列求最左与最右之后,枚举答案只用枚举’#‘,不过注意左右边界#不可用,因为有+,-.自己画画图就能明白.原创 2017-07-29 19:39:16 · 384 阅读 · 0 评论 -
[BZOJ]2124 等差子序列 Hash&树状数组
2124: 等差子序列Time Limit: 3 Sec Memory Limit: 259 MBSubmit: 1719 Solved: 648[Submit][Status][Discuss]Description给一个1到N的排列{Ai},询问是否存在1=3),使得Ap1,Ap2,Ap3,…ApLen是一个等差序列。Input输入的第一行包原创 2017-12-12 20:10:33 · 382 阅读 · 0 评论 -
[BZOJ]2555 Substring 后缀自动机&LCT
2555: SubStringTime Limit: 30 Sec Memory Limit: 512 MBSubmit: 3115 Solved: 925[Submit][Status][Discuss]Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串原创 2017-12-12 16:04:50 · 346 阅读 · 0 评论 -
[BZOj]1559 [JSOI2009] 密码 AC自动机 + 状压DP
1559: [JSOI2009]密码Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 785 Solved: 266[Submit][Status][Discuss]DescriptionInputOutputSample Input10 2helloworldSample Ou原创 2017-12-13 22:28:50 · 350 阅读 · 0 评论 -
[HDU]5421 Victor and String 回文树
Victor and StringTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/262144 K (Java/Others)Total Submission(s): 615 Accepted Submission(s): 181Problem DescriptionVictor loves to play wit原创 2018-01-17 19:21:02 · 353 阅读 · 0 评论 -
[BZOJ]3676 [APIO2014] 回文串 回文自动机
3676: [Apio2014]回文串Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 2953 Solved: 1325[Submit][Status][Discuss]Description考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 Inp原创 2017-12-11 12:15:13 · 380 阅读 · 0 评论 -
[BZOJ]3160 万径人踪灭 Manacher + FFT
3160: 万径人踪灭Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1753 Solved: 977[Submit][Status][Discuss]DescriptionInputOutputSample InputSample OutputHINTSource2013湖北互测week1[Submit][Status][Discuss]HOM原创 2018-01-17 21:48:58 · 426 阅读 · 0 评论 -
[Codeforces]86C Genetic engineering AC自动机 + DP
这道题之前YYR出过, 最近重做AC自动机于是又来旧题重做一下~ 题目大意就是说给你m个字符串, 然后让你统计长度为n的并且由这m个字符串中的一些字符串紧凑拼成的字符串有多少个. 什么叫紧凑拼成? 可以理解为这个字符串包含这m个字符串中的一些, 相邻之间可以互相重叠但是不能有间隔——也就是说这个字符串的每一个字符一定要至少被给定的m个字符串之一覆盖. 这种计数方案数肯定要想到dp.原创 2018-02-04 15:11:01 · 509 阅读 · 0 评论 -
[BZOJ]4327 [JSOI2012] 玄武密码 AC自动机
4327: JSOI2012 玄武密码Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 435 Solved: 194[Submit][Status][Discuss]Description在美丽的玄武湖畔,鸡鸣寺边,鸡笼山前,有一块富饶而秀美的土地,人们唤作进香河。相传一日,一缕紫气从天而至,只一瞬间便消失在了进香河中。老人原创 2018-02-04 15:37:09 · 381 阅读 · 0 评论 -
[POJ]2778 DNA Sequence AC自动机 + 矩阵快速幂
DNA SequenceTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18408 Accepted: 7094DescriptionIt's well known that DNA Sequence is a sequence only contai原创 2018-02-04 15:29:22 · 446 阅读 · 0 评论 -
[BZOJ]2938 [POI2000] 病毒 AC自动机
2938: [Poi2000]病毒Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1201 Solved: 600[Submit][Status][Discuss]Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。原创 2018-02-04 20:31:30 · 396 阅读 · 0 评论 -
[BZOJ]3530 [SDOI2014] 数数 AC自动机 + DP
3530: [Sdoi2014]数数Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1226 Solved: 618[Submit][Status][Discuss]Description我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串。例如当S=(22,333,0233)时,2原创 2018-02-04 20:43:19 · 375 阅读 · 0 评论 -
[BZOJ]1030 [JSOI2007] 文本生成器 AC自动机 + DP
1030: [JSOI2007]文本生成器Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5604 Solved: 2338[Submit][Status][Discuss]Description JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文原创 2018-02-04 21:30:59 · 331 阅读 · 0 评论 -
[BZOJ]3238 差异 后缀树
3238: [Ahoi2013]差异Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 3905 Solved: 1762[Submit][Status][Discuss]DescriptionInput一行,一个字符串SOutput 一行,一个整数,表示所求值Sample InputcacaoSample Output54HINT2<=N<...原创 2018-02-05 22:04:27 · 324 阅读 · 0 评论 -
[SPOJ]1812 LCS2 后缀自动机
LCS2 - Longest Common Substring II#suffix-array-8A string is finite sequence of characters over a non-empty finite set Σ.In this problem, Σ is the set of lowercase letters.Subs原创 2018-02-05 21:58:38 · 306 阅读 · 0 评论 -
[BZOJ]3998 [TJOI2015] 弦论 后缀自动机
3998: [TJOI2015]弦论Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 3292 Solved: 1133[Submit][Status][Discuss]Description对于一个给定长度为N的字符串,求它的第K小子串是什么。Input 第一行是一个仅由小写英文字母构成的字符串S第二行为原创 2017-12-11 22:23:28 · 376 阅读 · 0 评论 -
[BZOJ]3926 [ZJOI2015] 诸神眷顾的幻想乡 广义后缀自动机
3926: [Zjoi2015]诸神眷顾的幻想乡Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1631 Solved: 947[Submit][Status][Discuss]Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日。原创 2017-12-12 11:13:52 · 341 阅读 · 0 评论 -
后缀数组详解
后缀数组 后缀数组是一种处理字符串强有力的工具,但一开始看它求sa和rank,height的预处理的时候,感到难以理解。但仔细读的话,还是对求后缀数组的过程还是很清晰的. 首先是rank和sa的概念.rank,rank数组保存的是从这个字符串这一位之后的后缀在这个字符串n(n为字符串的长度)个后缀中按字典序下来的排名,即使“你排第几?”,而sa则是相对于rank的一个逆数组,概念反过来原创 2017-05-03 14:50:14 · 1155 阅读 · 0 评论 -
[POJ]2774 最长公共子串
Long Long MessageTime Limit: 4000MS Memory Limit: 131072KTotal Submissions: 31075 Accepted: 12573Case Time Limit: 1000MSDescriptionThe little cat is majorin原创 2017-07-30 11:34:48 · 486 阅读 · 0 评论 -
[POJ]1743 不可重叠最长重复字串 二分答案
因为要不重复,所以只用二分长度,把排名连续的>mid的分到一起,看同一组隔得最远的数列上的位置相差是否也>mid,若有则为真.有公长且不重叠的长度mid,mid以下的长度自然也可以,所以具有二分性. 用后一个减前一个就能判断题目中所说的变调相同的序列,这是个小技巧,可以自己模拟一下.原创 2017-07-30 14:30:11 · 445 阅读 · 0 评论 -
[BZOJ]1717 [Usaco2006 Dec]Milk Patterns 二分答案
1717: [Usaco2006 Dec]Milk Patterns 产奶的模式Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1283 Solved: 692[Submit][Status][Discuss]Description农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量原创 2017-07-30 19:26:38 · 378 阅读 · 0 评论 -
[BZOJ]2741 [FOTILE模拟赛]L
考虑求前缀异或和,那么sum[L-1]^SUM[R]就是L到R得连续异或和,因为我们sum存储的是前缀,又因为相同的数异或为0,且sum[R]包含了sum[L-1],所以两者异或起来,1~L-1的异或贡献被抵消,就只剩下了L~R的贡献.那么问题就转化成为,在L-1到R内选择两个数的sum值异或起来最大.考虑对于一个数 x 的sum,求与他之前的某个数异或起来最大,那么贪心的肯定让高位的1得到保证,由异或的性质可得我们要从高位到低位找到一个数的高位到低位的每一位尽量与x的每一位相反.那么我们对于序列上的每个原创 2017-07-26 20:00:13 · 476 阅读 · 0 评论 -
[BZOJ]3261 最大异或和
3261: 最大异或和Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1954 Solved: 810[Submit][Status][Discuss]Description 给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型: 1 、A x:添加操作原创 2017-07-26 20:18:46 · 458 阅读 · 0 评论 -
[POJ]2185 真正的正解
所谓正解?(伪) 1.求的所有行的循环节求max值,再求列的循环节的max值,两者相乘. 反例: 2 6 ABCDAB ABCABC 用1求出来是8.实际上是12. 2.将循环节求最小公倍数,若大于行(列)数就变为行(列)数. 反例: 2 8 ABCDEFAB ABABAAAB 用2算出来因为行的循环节为5,6,最小公倍数30,因为大于8就转化为8,再乘上竖着的2,答案为16. 实际上答原创 2017-07-27 08:33:44 · 936 阅读 · 0 评论 -
[POJ]2406Power Strings KMP
Power StringsTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 49390 Accepted: 20575DescriptionGiven two strings a and b we define a*b to be their conca原创 2017-07-25 21:51:03 · 389 阅读 · 0 评论 -
[BZOJ]3790 神奇项链 Manacher+树状数组
#include<stdio.h>#include<cstring>#include<algorithm>using namespace std;const int maxn=100010;const int inf=1000000010;char ss[maxn],s[maxn*2];int c[maxn],pal[maxn*2],m,n,ans,num;struct query{ int l,r;}q[maxn];inline bool cmp(query a,query b原创 2017-07-28 12:12:34 · 379 阅读 · 0 评论 -
[BZOJ]2882 工艺 最小表示法
2882: 工艺Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 973 Solved: 428[Submit][Status][Discuss]Description小敏和小燕是一对好朋友。他们正在玩一种神奇的游戏,叫Minecraft。他们现在要做一个由方块构成的长条工艺品。但是方块现在是乱的,而且由于机器原创 2017-07-28 15:01:11 · 350 阅读 · 0 评论 -
[HDU]2222 Keywords Search
Keywords SearchTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 64822 Accepted Submission(s): 21615Problem DescriptionIn the原创 2017-07-28 11:02:41 · 349 阅读 · 0 评论 -
[BZOJ]2160 拉拉队排练 Manacher+快速幂
题解 因为Manacher求出的是极大回文子串,那么对于长度为7的极大回文子串,那么这个字串一定包含了对文串长度为5的,长度为4的.这道题由于是求奇数的,那么我们就不用考虑偶数的情况,Manacher也就不用插‘#’号了.Manacher处理完了之后记录每个长度的个数,再从大到小,每个长度i的个数加上i+2的个数,这里有点像前缀和.然后我们根据题意从大到小取k个即可,过程中对于每种长度快速幂求值(每种长度有多个),两种长度之间直接相乘(用long long就不会爆),就可以了.原创 2017-07-28 16:24:07 · 352 阅读 · 0 评论 -
[BZOJ]2434 阿狸的打字机 AC自动机+Fail树+树状数组
相信自己的想法,自己的程序,只要算法正确,一定能A的,不要轻易放弃.题解 这道题问一个串在另一串上出现多少次,我们用AC自动机跳某个串上所有的fail必定超时,T的稳到不行...那么我们考虑反正对于某个串A对于另一个串B的询问,问B在A里出现了多少次,就是问A在AC自动机上从根开始的链那些点能跳fail跳到B,那么自然而然的,某些点能跳到B这个点可以理解为这些点在B的子树里,顺着父亲往上爬终究会到达B,那么‘顺着父亲往上爬’其实就等价于跳fail?那么我们对于每个点向他的fail连边,原创 2017-07-29 11:26:22 · 463 阅读 · 0 评论 -
9.27 不正常国家 Trie + 启发式合并
题意: 每个点有一个点权, 每个点u定义一个繁忙程度, 为u子树里面两点之间的路径异或和最大的两点的异或和. 这两点的lca必须要是u. 输出每个点的繁忙程度.题解 x, y的路径异或和就是x到根的异或和 异或 y到根的异或和 再异或lca的值.对于异或和01trie不太懂得:Click Here这道题烦就烦在必须要是子树里面的两点, 这样普通的trie或原创 2017-09-27 22:18:45 · 544 阅读 · 0 评论 -
[BZOJ]3670 [NOI]2014 动物园 KMP好题
3670: [Noi2014]动物园Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 3045 Solved: 1646[Submit][Status][Discuss]Description近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向原创 2017-10-22 21:47:09 · 344 阅读 · 0 评论 -
字符串训练赛 By YYR AC自动机 + KMP/HASH + 贪心
字符串 #2 By YYR题目名称 基因的庇护 修仙 眼镜 输入文件名 protect.in hhh.in glasses.in 输出文件名 protect.out hhh.out glasses.out 每个测试点时限 1s 1s 2s 测试点数目 10 10 10 每个测试点分值 10原创 2017-10-25 19:25:10 · 472 阅读 · 0 评论 -
[Codeforces]696D Legen... AC自动机 + 矩阵快速幂
D. Legen...time limit per test6 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBarney was hanging out with Nora for a while an原创 2018-02-05 22:18:35 · 662 阅读 · 0 评论