hash
SC.ldxcaicai
我很菜=_=
展开
-
2018.07.17 牛奶模式Milk Patterns(二分+hash)
传送门 好的一道简单字符串。这里收集了几种经典做法: SAM,不想写。 后缀数组+二分,不想写 后缀数组+单调队列,不想写 hash+二分,for循哈希,天下无敌!于是妥妥的hash 代码如下: #include<bits/stdc++.h> #define N 20005 #define Base 20001 using namespace std; inline int...原创 2018-07-17 14:34:21 · 292 阅读 · 0 评论 -
bzoj2085: [Poi2010]Hamsters(hash+矩阵快速幂)
传送门 题意:给定n个长度总和不超过1e5的字符串,求一个最短的母串,使所有字符串的出现次数之和=m 这n个字符串保证不互相包含,n≤200 思路: 由于保证字符串两两不相互包含。 因此我们可以考虑dpdpdp。 fi,jf_{i,j}fi,j表示所有字符串出现次数之和为iii,结尾的字符串为第jjj个整个字符串的最短长度。 然后可以枚举字符串转移。 发现可以写成矩阵转移的形式然后用矩阵快速幂优...原创 2019-07-13 22:55:35 · 202 阅读 · 0 评论 -
bzoj2061: Country(hash+记忆化搜索)
传送门 题意: 有n个字符串变量(n<=26),它们可以包含其他的字符串变量,也可以包含小写字母。(这些变量用大写字母表示)。 举个栗子:A=greatglorycorrect B=xx C=leadusgo D=ABC E=DDDDdjh F=EEEEEgoodbye 数据保证定义是无环的。 给定一个小写字母组成的模式串,求某一个变量所代表的字符串里这个模式串出现了几次。 模式串长度,每条...原创 2019-07-13 22:50:33 · 328 阅读 · 0 评论 -
bzoj4650: [Noi2016]优秀的拆分(二分+hash)
传送门 题意: 给一个字符串sss。 定义一个字符串t=AABBt=AABBt=AABB是一种优秀的拆分,求sss的所有字串的优秀拆分数之和。 思路: 考虑一下O(n2)O(n^2)O(n2)暴力,枚举AA∣BBAA|BBAA∣BB中间的竖杠,然后枚举A∣AA|AA∣A之间的竖杠即可。 然后思考如何优化: 考虑当你确定了B的开始位置,你所关注的仅仅是这个开始位置开始的AA形式的拆分有多少个。 那么...原创 2019-07-13 22:43:04 · 176 阅读 · 0 评论 -
bzoj2081: [Poi2010]Beads(hash)
传送门 世纪水题???(大雾 题意: 给定一个串。你可以把这个串分成若干段,每块都有k个字符。(如果最后一段字符数少于k,则丢掉不要) 对于不同的k,你能得到不同的段。两个段是本质相同的,当且仅当它们相等或将其中一个段翻转后它们相等。 你现在想知道:能够获得的最多的本质不同段数;能获得这个最大值的k的数目;能获得这个最大值的所有k。 思路: 暴力枚举段的长度,然后用hash+sethash+set...原创 2019-07-13 22:23:13 · 183 阅读 · 0 评论 -
bzoj3790: 神奇项链(二分+hash)
传送门 题意: 有两个机器:一个可以生成一个回文串,另一个可以把两个串拼接起来。如果(令待拼接的两个串为A,B)A的一个后缀和B的一个前缀相同,那么可以将这个重复部分重叠。 给一个目标串,求为了得到这个目标串,至少需要使用多少次第二个机器。 思路: 用manacher/manacher/manacher/二分+hashhashhash求出极长回文串然后贪心即可。 代码: #include<b...原创 2019-07-13 22:20:12 · 171 阅读 · 0 评论 -
bzoj2803: [Poi2012]Prefixuffix(hash+性质推导)
题意: 给出一个长度为n的串S,求满足下面条件的最大的L: L<=n/2 S的L前缀和S的L后缀是循环同构的。 思路: 设前缀为aaa,后缀为bbb,如果a,ba,ba,b循环同构,那么a,ba,ba,b是由一个字符串加上两个borderborderborder形成的。 即如下图所示: s1,i=sl+1,n,si+1,j=sk,ls_{1,i}=s_{l+1,n},s_{i+1,j}...原创 2019-07-13 22:08:41 · 169 阅读 · 0 评论 -
2018.10.16 NOIP模拟 长者(主席树+hash)
传送门 考试的时候开始sb的以为需要可持久化trietrietrie树,发现建树时空都是O(n2)O(n^2)O(n2)的。 然后发现由于每次只从原来的字符串改一个字符。 因此直接主席树维护区间hashhashhash值。 sortsortsort的时候在主席树上二分比大小。 如果左子树hashhashhash值相同递归比右子树,否则走左子树,因为左子树的字典序的贡献更大。 代码 ...原创 2018-10-16 14:25:33 · 305 阅读 · 0 评论 -
2018.10.12 NOIP训练 01 串(倍增+hash)
传送门 一道挺不错的倍增。 其实就是处理出每个数连向的下一个数。 由于每个点只会出去一条边,所以倍增就可以了。 开始和zxyzxyzxy口胡了一波O(n+m)O(n+m)O(n+m)假算法,后来发现如果是mmm个自环就咕咕了。 哎还是太年轻了啊。 另外把ststst打成了hashhashhash以及没开longlonglong longlonglong都能过样例真是神奇。 代码 ...原创 2018-10-12 23:44:40 · 220 阅读 · 0 评论 -
CSP-S模拟 环球巡演(hash表+贪心)
传送门 把所有关键点提出来处理,然后分成相邻两个数分别贪心计算答案最后加起来。 现在把问题转化成了如下模型: 给你一个010101序列,你可以进行如下几种操作(四种操作代价不同): 删去一个1 删去一个0 删去一个1,并允许在其后面删去一个0 删去一个0,并允许在其后面删去一个1 然后比比四种操作的代价讨论一下即可。 代码: #include<bits/stdc++.h> #def...原创 2019-07-25 18:15:35 · 242 阅读 · 0 评论