哈希
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 · 251 阅读 · 0 评论 -
模拟赛20200327 T3 回文串 (二分+双哈希求回文)
题很水,但是我第一发前缀和没有处理到n+1,第二发哈希底数137 mod 1e9+7被卡,第三发双哈希一个取模一个自然溢出都用ULL,取模的那个中间过程出现负数自动模了264。。。时运不齐,命途多舛。 双哈希先用自然溢出的判断会快很多,减少取模。 Code: #include<bits/stdc++.h> #define maxn 800005 using namespace st...原创 2020-03-27 23:08:55 · 171 阅读 · 0 评论 -
BZOJ3162 独钓寒江雪【无根树同构问题】
题目描述: 给定一棵无根树,求其中本质不同的独立集的个数。 n<=500000 题目分析: 如果任选一点作根,那么它选1的情况和它选0的情况有可能是本质相同的。 但如果选重心作根(如果有两个重心,就新建一个点连向两个重心,原来的边断掉),那么它选1的情况和它选0的情况一定是本质不同的。 我们不难看出重心是树中唯一确定的点,没有任何一点能够与它等价。 所以用重心作根,f[u][0/1]f[u]...原创 2019-10-18 15:57:01 · 225 阅读 · 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 · 430 阅读 · 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 · 212 阅读 · 0 评论 -
CodeForces 107 D.Crime Management【状态编码+矩阵快速幂】
添加链接描述 #include<bits/stdc++.h> #define maxn 135 #define LL long long using 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 · 211 阅读 · 0 评论 -
魔王消失day2T1 uni【树哈希+Burnside】
题目描述: 给定一棵n个点n条边的基环树,有m种颜色,给这棵树染色,求本质不同的染色方案。 对于树,本质不同的含义与树同构类似。 对于环,本质不同指一种方案不能通过另一种旋转环来得到。 题目分析: 首先对于环上的每个点,DP出它下面的树的染色方案。 用树哈希来判断树同构,哈希时需要将儿子的哈希值排序然后合并,合并完后需要再乘上一个Seed、跟size取个异或或者乘上size。(不然后面的点会WA到...原创 2019-07-23 21:35:41 · 320 阅读 · 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 Input 6 1 2 3 1...原创 2019-03-31 12:07:44 · 225 阅读 · 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 · 135 阅读 · 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 · 167 阅读 · 0 评论 -
Loongint的旅行安排 【哈希+链表解决冲突】
Loongint的旅行安排 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Loongint 和 MM 要出去旅行,出行前规划旅行方案时,MM 给 Loongint 出了一个难题。她说,在她心中,不同的地方能给她不同的感受,而感受可以用喜爱值Li表示出来,她希望这次旅行能正好得到w的喜爱值。为了考验 Loongint是否爱他,她只是给了 Loongint所有的Li和w值,却并不...原创 2018-08-27 19:56:12 · 275 阅读 · 0 评论