哈希
文章平均质量分 89
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
哈希专题--Codeforces
哈希专题–Codeforces 245H Queries for Number of Palindromes 求区间回文串个数,n≤5×103,q≤106n\le 5\times 10^3,q\le 10^6n≤5×103,q≤106 这范围,显然预处理。 首先维护一个数组g[l][r]g[l][r]g[l][r]表示该区间是否为回文串。 然后维护答案数组f[l][r]f[l][r]f[l][r] g[l][r]=g[l+1][r−1]&a[l]==a[r]f[l][r]=f[l+1][r]+f[l原创 2021-07-24 23:05:58 · 469 阅读 · 0 评论 -
1063 Set Similarity (SET&MAP)
1063 Set Similarity (SET&MAP) 用unordered_mapunordered\_mapunordered_map卡过去了,不过用setsetset自带的findfindfind查找貌似复杂度更优。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7; #define mst(a原创 2020-10-12 20:29:21 · 248 阅读 · 0 评论 -
Forsaken喜欢字符串(哈希&map)
Forsaken喜欢字符串(哈希&map) 传送门 思路:因为kkk很小,所以考虑用mapmapmap记录所有字符串的个数。 然后再用一个mapmapmap记录当前字符串长度为lenlenlen的子串个数。 然后两者相减求和即可。 AC代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e4+5; #define mst(a) memset(a,0,sizeof a) un原创 2020-05-27 15:43:06 · 365 阅读 · 0 评论 -
Nowcoder Practice 61 E.相似的子串(Hash&二分)
Nowcoder Practice 61 E.相似的子串(Hash&二分) 题意:求给定字符串中相同但不相交的子串最大个数。 思路:二分从查找子串长度,然后对每个长度从右端开始递推结果。 #include<bits/stdc++.h> using namespace std; const int N=2e5+5,mod=1e9+7; typedef unsigned long ...原创 2020-04-11 14:20:06 · 269 阅读 · 0 评论 -
学习笔记:哈希字符串
哈希字符串的学习 第一种方法:自然溢出法。 实例代码:这里prime=233 #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull; ull h[15],p[15]; char s[15]; int main(){ scanf("%s",s+1); int len=strlen(s+...原创 2020-04-11 13:56:24 · 316 阅读 · 0 评论