哈希
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[2017纪中11-8]好文章 字符串hash+STL
题面 多hash+map防卡就是了。 详细的卡hash方法 代码:#include<iostream>#include<cstdio>#include<cstring>#include<map>#define ll long longusing namespace std;const int maxn=200010;int n,m,mod[10]={1000000007,1000原创 2017-11-10 15:16:50 · 262 阅读 · 0 评论 -
[2017纪中11-5]仔细的检查 树hash
题面 树hash裸题。 正确姿势貌似是找重心,然后每次计算x点的hash值要把其子树的hash值排序之后再像字符串那样hash,最后融进自己的一些信息去。 我则是乱搞,每个点的hash值是其儿子的hash值的和+R(size[x],num[x])(关于其子树大小和儿子个数的一个函数,千万不要是一次的。。。)这样就可以O(1)换根啦。 找到一个相同的根,两个再一起跑一边DFS就可以啦。 代码原创 2017-11-05 21:38:01 · 271 阅读 · 0 评论 -
[联合集训6-9] El 点分治+哈希表
转化题意,就是根据题目所给的式子定义颜色,求同色三角形的个数。 有一个经典结论:完全图同色三角形个数=总三角形个数-异色角个数/2。因为每个异色三角形都恰有两个异色角。 在有向完全图中结论依然成立,但这里的异色角就要分别统计两出,一入一出,两出三种情况。我们只需要分别知道每个点进/出的红/绿路径数量即可。这个可以用点分治解决。 具体地,对于一个分治中心rootrootroot,我们求出它到该...原创 2018-06-10 21:55:23 · 294 阅读 · 0 评论 -
[联合集训6-25] 蓝雨 线段树+主席树+hash
先考虑p=qp=qp=q的情况,习惯先把求第kkk大变成求第kkk小。 那么我们逐个确定第kkk小的串每种数字包含了多少个。假设当前我们已经确定了x−1x−1x-1之前的数的个数,此时对于每个左端点iii,合法的右端点都是一个区间[li,ri][li,ri][l_i,r_i]。现在考虑二分确定xxx的个数,我们把序列中为xxx的位置单独挑出来,这些位置把序列分成若干段,假如二分有midmidmi...原创 2018-06-26 20:46:05 · 389 阅读 · 0 评论