字符串hash
黑码
这个作者很懒,什么都没留下…
展开
-
codeforces 868D 分治哈希
转:http://blog.csdn.net/sinat_35406909/article/details/78162440是否含有所有长度为k的01串,如果是,输出最大的k,否则输出0.这道题和之前的一道树分治题目挺像。 戳这里 首先二分答案k,验证所有长度为k的不同子串是否有2^k个。对当前串进行dfs,不断将当前串分成之前的串。对于当前串,假设两个原串的所有长度为k的串都已经考虑过,那转载 2017-10-09 14:49:13 · 468 阅读 · 0 评论 -
Codeforeces 727 E 字符串双Hash 2017/1/12
题意:n个长度为k的字符串,首尾相接,按顺时针顺序写在一张CD上,每个字符串只写一次总字符串长度小于1e6。保证每个字符串不同。这样CD上就有了一个环形字符串,长度是n*k。又给出g个长度为k的字符串列表(编号从1到g),按照顺时针打印CD上字符串的编号。保证每个字符串不同。保证这g个字符串长度的和小于2*1e6。 下面代码和思路参考了Wannafly每日一题,顺便学会了Hash。记录了模板。转载 2017-10-04 01:08:26 · 302 阅读 · 0 评论 -
字符串hash 交换两个字符
题意:给 k个字符串,长度为n 是否存在一个串 换两个字符可以包含k个字符串正解是 n^2*k 这里是字符串hash n^2*klogk 超时,只是没有好好做过字符串hash,这里记录一下#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 5010;ll p[N],h[N],w[N];原创 2017-12-13 21:12:35 · 495 阅读 · 1 评论