![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
字符串哈希
小菜鸡加油
菜鸡
什么都能折磨
展开
-
F. 地图压缩(二维kmp+哈希)
https://codeforces.com/gym/103389/problem/F实际上比较能看出来是kmp吧。POJ2185是二维kmp的最小矩阵面积。询问次数多的话就不能每次取字符串遍历了。需要找到一个快速取字符串value的方式就是哈希。二维的公共前后缀怎么找呢?对每行每列进行哈希的预处理,对于查询的矩阵或者行的哈希值数组。对于列同理。然后找出行的哈希value的最大公共前后缀长度,即最多可以有多少行。对列同理找出哈希value的最大公共前后缀长度,即最多可以有多少列。行数和列数乘积就原创 2021-11-09 16:50:55 · 473 阅读 · 0 评论 -
L3-029 还原文件 (30 分)(哈希+dfs)
不知道正解是啥。暴力dfs过了。我爬了#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cmath>#include<map>#include<set>#include<cstdio>#include<algorithm>#define debug(a) cout<&l原创 2021-04-26 14:49:21 · 637 阅读 · 0 评论 -
回文字D(hash+dp+单调队列)
https://ac.nowcoder.com/acm/contest/11169/D思路:作者:hx073269链接:https://ac.nowcoder.com/discuss/625099?type=101&channel=-1&source_id=0来源:牛客网考点:动态规划+字符串hash设DP[i]为前i个字母组成的字符串最少划分为DP[i]段,那么最终答案就是DP[n],转移可以分为以下两种:①因为长度小于D的字符串均为D型回文串,因此有DP[i]=min(原创 2021-03-27 13:12:05 · 124 阅读 · 0 评论 -
问题 C: 重铸神器(dp+哈希)
思路:dp[j]:前j个字符串且当前第j个位置往前匹配第x个串的可行性单纯找就是O(50*3e5),匹配的过程改成hash的优化近乎O1 debug老久的问题:哈希的初始值p[0]=1;下面num的递推过程的hash值的初始值是0不是1!!!!#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cmath>#inc...原创 2021-03-15 14:45:56 · 156 阅读 · 0 评论 -
九峰与子序列(计数dp+字符串哈希)
https://ac.nowcoder.com/acm/contest/9984/E题意:给定长度为n的字符串序列a和字符串k,询问a有多少子序列拼接起来等于k。思路:n<=20,直接爆搜,但是如果是40,那就折半枚举。不过这里用的是dp的方法。dp[i][j]:到了第i个数,且能拼成前j长度的有多少个方案。dp[i][j]+=(dp[i-1][j-len[i])) [ if(cal(j-len[i]+1,j))==val[i] ]然后一个mle的提醒:开滚动,01原创 2021-02-21 13:11:08 · 160 阅读 · 0 评论 -
武辰延的字符串(思维+二分字符串前缀)
众所周知,武辰延很喜欢字符串。这天,他对着两个字符串 s 和 t 发呆,他发现这两个串的前缀有很多相似的地方,s 的两个前缀连接起来竟也是 t 的前缀。武辰延想知道有多少对 s 的非空前缀连接起来是 t 的前缀。形式化地讲,我们把si看作字符串 s 长度为 i 的前缀。对于一对前缀 (si,sj)(允许 i=j)而言,当满足si+sj=ti+j时,我们认为这两个 s 的前缀拼接后等于 t 的一个前缀。两对 s 的前缀 (si,sj)与 (si′,sj′)不同当且仅当 i...原创 2021-02-20 00:50:16 · 188 阅读 · 1 评论 -
B. Password(字符串哈希+二分)
https://codeforces.com/problemset/problem/126/B题意翻译Asterix,Obelix和他们的临时伙伴Suffix、Prefix已经最终找到了和谐寺。然而和谐寺大门紧闭,就连Obelix的运气也没好到能打开它。不久他们发现了一个字符串S(|S|<=1000000),刻在和谐寺大门下面的岩石上。Asterix猜想那一定是打开寺庙大门的密码,于是就大声将字符串朗读了出来,然而并没有什么事发生。于是Asterix又猜想密码一定是字符串S的子串T。P原创 2021-01-25 09:14:31 · 412 阅读 · 0 评论 -
ICPC Central Europe Regional Contest 2019 A. ABB(哈希/马拉车)
https://ac.nowcoder.com/acm/contest/7817/A通过分析题意发现要求求一个最长的回文子串,要求一段是结尾。首先旺哥上来就reverse然后对应匹配,然后wa了将近十多发,同时在计蒜客oj交了这道题代码是能过的,赛后发现正确率98%,也就是卡了一组数据,具体哪组不得而知。既然求最长回文子串,那么考虑算法的可以马拉车。但是我菜我不会。用字符串哈希来过。注意哈希的时候最好双模数,虽然这题单模数也可以过。另外,哈希匹配的时候如果是减法,那么一定一定要+mod后再取原创 2020-10-02 09:04:44 · 188 阅读 · 0 评论 -
Instant Noodles(辗转相减法+哈希)
https://codeforces.com/problemset/problem/1322/C参考博客:https://blog.csdn.net/jk_chen_acmer/article/details/107296232GCD(a+b+c,b+c+d,a+b+c+d)辗转相减后得到:GCD(a,b+c,d)分析就可以得到结论:对于右边的点,若两个点(这里的b和c)连接的点集相同(AB),则这两个点为一类点。结果答案为所有类点内部权值和的gcd。而分析哪些点为一类用哈希即可原创 2020-09-30 22:08:43 · 479 阅读 · 0 评论 -
D. MUH and Cube Walls
https://codeforces.com/problemset/problem/471/DPolar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant Horace from the zoo of Kiev got hold of lots of wooden cubes somewhere. They started making cube towers by placing the cubes one o原创 2020-09-04 16:32:55 · 216 阅读 · 0 评论 -
D. Good Substrings(双模数哈希)
https://codeforces.com/problemset/problem/271/DYou've got strings, consisting of small English letters. Some of the English letters aregood, the rest arebad.A substrings[l...r](1 ≤ l ≤ r ≤ |s|) of strings = s1s2...s|s|(where|s|is the len...原创 2020-08-29 15:20:36 · 690 阅读 · 0 评论