10 2017 档案

摘要:题目大意: 把一个字符串s分割成m个串,这m个串满足至多有一种字符出现次数为奇数次,其他均为偶数次,问m的最小值 题解: 首先我们想一下纯暴力怎么做 显然是可以n^2暴力的,然后dp[i]表示分割到i的所用最少的串个数 接下来就是枚举所有可行的j,使得dp[j]转移到dp[i]。 虽然可以暴力找,但 阅读全文
posted @ 2017-10-24 16:57 Saurus 阅读(183) 评论(0) 推荐(0)
摘要:经典题 manacher是一种很神奇的算法, 算是动态规划的一种,不过利用的信息非常有效 阅读全文
posted @ 2017-10-22 18:08 Saurus 阅读(179) 评论(0) 推荐(0)
摘要:题目大意: 给定一些开心串,每个串有一个开心值,构造一个串,每包含一次开心串就会获得一个开心值,求最大获得多少开心值。 题解: 首先先建立AC自动机。(建立fail指针的时候,对val要进行累加) 然后在AC自动机上跑dp dp[i][j] = max(dp[i][j], dp[i-1][k] + 阅读全文
posted @ 2017-10-21 21:28 Saurus 阅读(253) 评论(0) 推荐(0)
摘要:题意: 有一个文本串,它的长度为m (1 <= m <= 2000000),现在想找出其中所有的符合特定模式的子串位置。符合特定模式是指,该子串的长度为n (1 <= n <= 500),并且第i个字符需要在给定的字符集合Si中。因此,描述这一特定模式,共需要S1,S2,...,Sn这n个字符集合。 阅读全文
posted @ 2017-10-10 21:52 Saurus 阅读(362) 评论(0) 推荐(0)
摘要:题意: 称一对字符串(A,B)是相似的,当且仅当满足以下条件: (1)字符串A和B都恰好包含N个字符; (2)A和B串中的每个字符都是小写字母的前k个字符,即A、B中只可能出现'a','b','c',...,('a'+k-1)这k个字符; (3)存在一个字符串C,满足:A+C=C+B。这里的“+”号 阅读全文
posted @ 2017-10-10 18:29 Saurus 阅读(440) 评论(0) 推荐(0)
摘要:题意: 班里有n个同学。老师为他们选了n个笔名。现在要把这些笔名分配给每一个同学,每一个同学分配到一个笔名,每一个笔名必须分配给某个同学。现在定义笔名和真名之间的相关度是他们之间的最长公共前缀。设笔名为a,真名为b,则他们之间的相关度为lcp(a,b)。那么我们就可以得到匹配的质量是每一个同学笔名和 阅读全文
posted @ 2017-10-08 20:51 Saurus 阅读(286) 评论(0) 推荐(0)
摘要:题意: 有一个字符串T。字符串S的F函数值可以如下计算:F(S) = L * S在T中出现的次数(L为字符串S的长度)。求所有T的子串S中,函数F(S)的最大值。 题解: 求T的后缀自动机,然后所有每个后缀自动机的结点u 求出endpos[u]*maxlen[u]中的最大值即可 阅读全文
posted @ 2017-10-08 16:28 Saurus 阅读(252) 评论(0) 推荐(0)
摘要:题意: 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd。 给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值。 题解: 我们前缀匹配的位置个数随长度是递减的(即长度越长,位置越少)。 用拓展kmp对自身求Next数组 我 阅读全文
posted @ 2017-10-08 16:21 Saurus 阅读(222) 评论(0) 推荐(0)
摘要:题意: 给定一个字符串S,找到另外一个字符串T,T既是S的前缀,也是S的后缀,并且在中间某个地方也出现一次,并且这三次出现不重合。求T最长的长度。 例如:S = "abababababa",其中"aba"既是S的前缀,也是S的后缀,中间还出现了一次,并且同前缀后缀均不重合。所以输出"aba"的长度3 阅读全文
posted @ 2017-10-08 15:59 Saurus 阅读(252) 评论(0) 推荐(0)
摘要:拓展kmp裸题 自己跟自己匹配即可 模板测试=v= 阅读全文
posted @ 2017-10-08 15:34 Saurus 阅读(241) 评论(0) 推荐(0)
摘要:题意: 每个人有两个积分CC和TF 第i个人能战胜第j个人的条件满足下面两个条件中的一个即可 1、CCi > CCj 或 TFi > TFj 2、i能战胜k,k能战胜j。 题解: 先按CCi的积分排序,然后连接相邻的两个人a->b,代表a能战胜b 再按TFi的积分排序,做同样的处理。 最后我们按TF 阅读全文
posted @ 2017-10-08 14:45 Saurus 阅读(348) 评论(0) 推荐(0)
摘要:题意: 树的根节点为水源,编号为 1 。给定编号为 2, 3, 4, …, n 的点的父节点。已知只有叶子节点都是房子。 有 q 个操作,每个操作可以是下列两者之一: 初始所有房子都没有歹徒。对于每次变化后,要求删除最少的边,使得所有有歹徒的房子均无法与水源连通;同时,在此基础上要求受影响的普通房子 阅读全文
posted @ 2017-10-08 14:40 Saurus 阅读(295) 评论(0) 推荐(0)
摘要:题解: 实际上一个可行解即选取长和宽的一个,使得最后每一组选第一维的数值都不同 在此基础上,使得另一维的和最大。 然后建立图论模型 对于每一个方块,在a和b之间连边。 对于选择的方案,如果选择a->b,那么就是以a为底,b为高 所以最后的图一定要满足所有点的出度为1(出度为2就有重复了) 基于这个我 阅读全文
posted @ 2017-10-08 14:32 Saurus 阅读(314) 评论(0) 推荐(0)