
ACM_哈希
文章平均质量分 81
逍遥丶綦
这个作者很懒,什么都没留下…
展开
-
树的最小表示法 poj1635 Subway tree systems
传送门:点击打开链接题意:有根树,0表示远离根节点,1表示接近根节点,一条边只访问一次。现在告诉你两种访问方式,问这两棵树是否同构异形。思路:从下向上把子树排序,这样向上,最后表示出来的就是最小表示的了,那么就有序了,就可以直接比较字符串就能判断两棵树是否相同。#include#include#include#include#include#include#include原创 2015-12-01 16:16:48 · 2032 阅读 · 0 评论 -
KMP+hash hdu3746 Cyclic Nacklace
传送门:点击打开链接题意:已知原串,在首或者尾加上一些字符后,变成至少有一个循环节循环2次变成新串思路:我们能很容易的发现,在首添加字母和在尾添加字母效果是一样的,所以我们只考虑在末尾添加首先我们都知道,KMP可以用来求前缀中的最长循环节长度。知道了这个有什么用呢?我们枚举所有的前缀,然后取得循环节的长度w,与此时后面剩下的字符串的长度t去比较如果后面剩下的字符串等于原字符串的原创 2016-03-17 20:12:28 · 1164 阅读 · 0 评论 -
最小表示法+hash hdu2609 How many
传送门:点击打开链接题意:有n个串,每个串是一个环,如果通过移动环之后能一样,认为是同一种串。问有多少种串。思路:很明显我们首先要把认为是一样的串变成一样的,比如找到这个串的最小表示法,所以这道题的目的就是为了求最小表示法,然后用hash搞一搞排序然后去重,或者是直接插入到set里面取size都是可以的KMP(复杂度O(n))来搞最小表示法暂时还不会,先挖个坑,我这里还有一种通过二分+原创 2016-03-17 20:05:23 · 1389 阅读 · 0 评论 -
hash+dp打印路径 Codeforces615C Running Track
传送门:点击打开链接题意:a串有很多个,然后能把a串剪断,剪成很多条小区间,区间还能翻转。然后给你一个b串,求b串用a串的区间的字符去组合出来,最少需要的区间数,要求输出方案。长度思路:首先,我的思路非常蠢。。标准答案是暴力+贪心,确实后来想了下讲的太有道理了~我的思路是,把a串的所有子串全部取出来,然后双哈希保存。然后再对b串做dp。如果[j+1,i]在a串中存在,那么就能有dp原创 2016-01-09 22:24:12 · 1021 阅读 · 0 评论 -
莫队算法+哈希 csu1515 Sequence
这是中南第二届邀请赛的题目,当时还不懂莫队,,现在做起来感觉思路还是挺清晰的,可以用来当莫队算法的练习首先讲下莫队算法(也是逆天),是一种分块的思路(超逆天思维)它是一种离线算法,复杂度是O(m*sqrt(n)),m是区间范围大小,n是区间个数适用条件:如果知道[原创 2015-06-13 17:50:37 · 647 阅读 · 0 评论 -
哈希+dijistra hdu2112 HDU Today
这题我喜欢,,一次性帮我测试了3个模板。。一个哈希的模板,一个dijistra的模板,一个邻接表的模板,,测试模板的大好题啊.....对,大概就是这样,,把3个模板拼凑起来对于每个字符串,通过hash查找,对应一个数字,然后就把字符串转换成数字了,这时候就变成了裸最短路题,在套用dijistra模板,,解决了...#include#include#include#原创 2015-07-25 00:10:55 · 872 阅读 · 0 评论 -
hash codeforces567C Geometric Progression
题意,在原数组中找到3个下标,a问(a,b,c)这样的三元组有多少个思路:dp[i][0]表示以i为A[a]的个数dp[i][1]表示以i为A[b]的个数dp[i][2]表示以i为A[c]的个数可以得到转移方程如果i%k==0 dp[i][2]+=dp[i/k][1]如果i%k==0 dp[i][1]+=dp[i/k][0]dp[i][0]++原创 2015-08-08 15:31:46 · 919 阅读 · 0 评论 -
哈希+前缀和 hdu5496 Beauty of Sequence
传送门:点击打开链接题意:一个序列,问所有的子序列的beauty操作之后的数字之和。beauty操作是将序列相邻多个相等的数字删除到只剩下一个思路:设F[i]表示以A[i]结尾的子序列的答案,cnt[i]表示以A[i]的结尾的子序列个数。那么对于第i个,可以枚举以A[k]结尾(k#include#include#include#include#include#include原创 2015-10-12 15:12:58 · 2124 阅读 · 0 评论 -
字符串hash+线段树 Codeforces580E Kefa and Watch
传送门:点击打开链接题意:给你一个原串,只有0和9组成。现在有两种操作操作1,区间修改,把[L,R]的数字都改成d操作2,询问区间[L,R]中是否满足si = si + x for all i from 1 to |s| - x.思路:虽然本身会字符串hash,但是没想到还能这样玩。。hash的思路和普通的是一样的,每一位中间乘以某个数字。。如果担心最后的答案,可以对两个大原创 2015-10-17 19:55:28 · 1094 阅读 · 1 评论 -
Hash+折半枚举 51Nod1440 序列分解
传送门:点击打开链接题意:小刀和大刀是双胞胎兄弟。今天他们玩一个有意思的游戏。 大刀给小刀准备了一个长度为n的整数序列。小刀试着把这个序列分解成两个长度为n/2的子序列。这两个子序列必须满足以下两个条件:1.他们不能相互重叠。2.他们要完全一样。如果小刀可以分解成功,大刀会给小刀一些糖果。然而这个问题对于小刀来说太难了。他想请你来帮忙。(n 思路:调整了几天,今天手感好原创 2016-04-14 10:51:54 · 782 阅读 · 0 评论