哈希
Fizzmy
这个作者很懒,什么都没留下…
展开
-
hdu6068 Classic Quotation-哈希
传送门 题意: 给定一个长度为n的串s,一个长度为m的串t。 有k次询问,每次给定l,r,在[1,l]中随机一个整数i,在[r,n]中随机一个整数j,问t在s[1…i]+s[j…n]中的出现次数。 n,k Solution: 答案可以分成三部分 1. t包含在s[1…i]内 2. t包含在s[j…n]内 3. t的前缀在s[1…i]内,t的后缀在s[j…n]内 1和2都很原创 2018-01-07 01:15:26 · 470 阅读 · 0 评论 -
Codeforces 30E Tricky and Clever Password-字符串匹配
传送门 题意: 密码是一个长度为奇数的回文串,现在我们对这个密码进行加密:把密码分成 3 段,最前面的 X 个字符为一段,最后面的 X 个字符为一段,剩余的字符为一段。这三段依次称之为 prefix, suffix, middle 。middle 的长度为一个大于 0 的奇数, prefix 、 suffix 的长度相等。加密后的密码即为 A + prefix + B + middle +...原创 2018-02-07 14:39:40 · 458 阅读 · 0 评论 -
51nod-1893 Travel-主席树+hash
传送门 题意: 给出一张n个点,m条边的无向图,每个点有点权,求一条从1到n的路径,使得经过的点中点权大的个数尽量少 n<=100000 Solution: 相当于求一条将这条路径中的所有点权排序后,字典序最小的路径 用主席树维护当前路径经过不同点权的次数,再运用hash可以在logn的时间内判断两个字符串的大小 再加上堆优化的dij,复杂度为O((n+m)lognlogn...原创 2018-03-11 16:23:05 · 250 阅读 · 0 评论 -
BZOJ2124 等差子序列-线段树+hash
传送门 题意: 给出一个N的排列,问是否存在一个长度至少为3的等差子序列 n<=10000 Solution: 注意到我们给出的是一个排列,而且我们只需要找长度为3的子序列即可 那么我们可以枚举中间项x,用01串S和T来表示x前面的数中[1,x-1]和[x+1,x+x-1]是否出现,每次判断串S和T的反串是否相等即可,如果不相等说明会出现等差子序列 判断两个串是否相等,我们...原创 2018-03-11 16:49:58 · 311 阅读 · 0 评论