哈希
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
LOJ#6537. 毒瘤题(加强版)(再加强版)【找出出现奇数次的数】
题目描述:给出 nnn 个数,其中有 kkk 个数出现了奇数次,从小到大输出这 kkk 个数。n≤3∗106,k=1,2,500,5000n\le3*10^6,k=1,2,500,5000n≤3∗106,k=1,2,500,5000空间限制 3M,时间限制 1s.题目分析:k=1k=1k=1 直接异或。k=2k=2k=2 时,最后异或值二进制为1的位肯定两个数一个为1一个不为1,所以存数组 a[35]a[35]a[35],对 xxx 二进制位为1的 a[i]a[i]a[i] 异或上 xxx。k原创 2020-07-07 10:27:01 · 238 阅读 · 0 评论 -
模拟赛20200327 T3 回文串 (二分+双哈希求回文)
题很水,但是我第一发前缀和没有处理到n+1,第二发哈希底数137 mod 1e9+7被卡,第三发双哈希一个取模一个自然溢出都用ULL,取模的那个中间过程出现负数自动模了264。。。时运不齐,命途多舛。双哈希先用自然溢出的判断会快很多,减少取模。Code:#include<bits/stdc++.h>#define maxn 800005using namespace st...原创 2020-03-27 23:08:55 · 164 阅读 · 0 评论 -
BZOJ3162 独钓寒江雪【无根树同构问题】
题目描述:给定一棵无根树,求其中本质不同的独立集的个数。n<=500000题目分析:如果任选一点作根,那么它选1的情况和它选0的情况有可能是本质相同的。但如果选重心作根(如果有两个重心,就新建一个点连向两个重心,原来的边断掉),那么它选1的情况和它选0的情况一定是本质不同的。我们不难看出重心是树中唯一确定的点,没有任何一点能够与它等价。所以用重心作根,f[u][0/1]f[u]...原创 2019-10-18 15:57:01 · 216 阅读 · 0 评论 -
BZOJ2351: [BeiJing2011]Matrix【矩阵哈希】
题目描述:给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过。所谓01矩阵,就是矩阵中所有元素不是0就是1。题目分析:矩阵哈希模板题。哈希的方法就是定义H[i][j]=∑x=1i∑y=1jA[x][y]∗pi−x∗qj−yH[i][j]=\sum_{x=1}^i\sum_{y=1}^jA[x][y]*p^{i-x}*q^{j-y}H[i][j...原创 2019-10-07 18:41:53 · 390 阅读 · 0 评论 -
NOIP模拟赛20191007 T2 好文章【(卡)哈希 / 后缀自动机】
题目描述:长为n的字符串,找出其中长度为m的不同子串的数量。1<=m<=n<=200000题目分析:显然可以哈希。但是出题人把我震惊了:啪啪啪…(鼓掌)于是我们知道了自然溢出很危险。。模数109左右更危险。。所以我们哈希要用两个模数或者用一个超大模数加上大数乘法取模(x*y-(LL)((long double)x/p*y)*p)(模数比如说可以是5211...原创 2019-10-07 15:48:51 · 200 阅读 · 0 评论 -
CodeForces 107 D.Crime Management【状态编码+矩阵快速幂】
添加链接描述#include<bits/stdc++.h>#define maxn 135#define LL long longusing namespace std;const int mod = 12345, Seed = 137;LL n;int m,p[maxn],id[28],a[28],cnt,tot,ans;bool vis[maxn];char c;...原创 2019-08-24 12:17:02 · 204 阅读 · 0 评论 -
魔王消失day2T1 uni【树哈希+Burnside】
题目描述:给定一棵n个点n条边的基环树,有m种颜色,给这棵树染色,求本质不同的染色方案。对于树,本质不同的含义与树同构类似。对于环,本质不同指一种方案不能通过另一种旋转环来得到。题目分析:首先对于环上的每个点,DP出它下面的树的染色方案。用树哈希来判断树同构,哈希时需要将儿子的哈希值排序然后合并,合并完后需要再乘上一个Seed、跟size取个异或或者乘上size。(不然后面的点会WA到...原创 2019-07-23 21:35:41 · 312 阅读 · 0 评论 -
BZOJ 4278: [ONTAK2015]Tasowanie 【后缀数组 / 二分哈希求LCP】
题面:给定两个数字串A和B,通过将A和B进行二路归并得到一个新的数字串T,请找到字典序最小的T。第一行包含一个正整数n(1<=n<=200000),表示A串的长度。第二行包含n个正整数,其中第i个数表示Ai。第三行包含一个正整数m(1<=m<=200000),表示B串的长度。第四行包含m个正整数,其中第i个数表示Bi。Sample Input61 2 3 1...原创 2019-03-31 12:07:44 · 215 阅读 · 0 评论 -
BZOJ 3439: Kpm的MC密码 【哈希】
题目传送门题目分析:本蒟蒻的想法 :trie树+(dfs序+主席树 || 线段树合并)dalao学长的想法:直接哈希把每个串的所有后缀的个数和是O(n)的。直接把每个后缀都插入哈希表里。开vector存一个哈希值对应的所有编号。Code:#include<cstdio>#include<cctype>#include<vector>#incl...原创 2019-03-25 12:01:09 · 127 阅读 · 0 评论 -
BZOJ3198 spring 哈希+容斥原理
题目链接题目描述有n组a,b,c,d,e,f,g,求a,b,c,d,e,f,g六个数中恰好有k个对应相等的对数,n≤100000,0≤a,b,c,d,e,f,g≤230n\le100000,0\le a,b,c,d,e,f,g\le 2^{30}n≤100000,0≤a,b,c,d,e,f,g≤230容斥是广义容斥,由至少求恰好,不会可以看看这个广义容斥原理个想借这个题说说哈希先枚举二进...原创 2018-12-01 12:39:43 · 162 阅读 · 0 评论 -
Loongint的旅行安排 【哈希+链表解决冲突】
Loongint的旅行安排时间限制: 1 Sec 内存限制: 128 MB题目描述Loongint 和 MM 要出去旅行,出行前规划旅行方案时,MM 给 Loongint 出了一个难题。她说,在她心中,不同的地方能给她不同的感受,而感受可以用喜爱值Li表示出来,她希望这次旅行能正好得到w的喜爱值。为了考验 Loongint是否爱他,她只是给了 Loongint所有的Li和w值,却并不...原创 2018-08-27 19:56:12 · 264 阅读 · 0 评论