- 2024-11-07树哈希 Hints
简化代码注意hash的值具有可加减的特性,可以极大程度的简化代码。同时可以维护可能作为答案的“匹配池”中的hash值,这样就不用进行(超级dirtywork的)树加减了。树哈希是一种集合哈希(?),所以支持加减!!!hash函数我也不知道为什么大家都在用这个hash函数ullshift(ullx
- 2024-10-09【模板】树哈希
https://peehs-moorhsum.blog.uoj.ac/blog/7891题目描述对一棵树求hash值,以判断两棵树是否同构。有有根树和无根树两个版本。solution找一个随机函数\(f\)(可以选xor-shift),然后每个点的子树的哈希值如下计算:\[h_u=1+\sum_{v}f(h_v)\]这是有根树的情况,对于无根树,1.可以换
- 2024-10-05CF1648F Two Avenues 题解
非常好题目,使我代码旋转。思路考虑什么样的边有贡献。我们首先提出原图的一个dfs树。处理出经过关键点的树上路径在每一条树边的经过次数\(v_i\)。我们选点会有以下几种情况。选两条割边\(i,j\),由于割边肯定是树边,所以答案就是\(v_i+v_j\)。选一条只被一条非树边覆盖
- 2024-08-04【学习笔记】哈希
【学习笔记】哈希Hash的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围。主要用来判重!如何辨别哈希题?大概就通过一句话:当需要用\(O(1)\)的时间快速比较两个\(O(n)\)的东西时。应该对大部分题目都生效。字符串哈希感觉这一块OI_wiki讲得比较清楚。通常我
- 2024-04-25POI2012PRE-Prefixuffix
POI#Year2012#kmp考虑相当于把原串分成\(abcba\)的串,使得\(ab\)尽可能长然后从后往前枚举后面的\(a\)长度,然后对于\(b\)的长度考虑\(dp_i=dp_{i+1}+2\),然后往下缩小直到合法//Author:xiaruizeconstintN=1e6+10;intn;chars[N];intnxt[N];inthsh[N]
- 2024-04-15POI2008POC-Trains
哈希#STL#POI#Year2008对于每个串做\(hash\),每次操作后只对被影响的等价类更新答案//Author:xiaruizeintn,l,m;chars[1005][105];multiset<ull>st;ullhsh[1005];intres[1005];voidsolve(){ cin>>n>>l>>m; rep(i,1,n)cin>>(s[i]
- 2024-04-152024 Apr. 一轮省集
Day04.2在学校摆了一上午,中午十二点出发去烟台了。居然还是去省选的那辆小车,坐起来很难受,很挤,闷得慌;靠背还没有头枕,睡觉久了脖子疼。总之就是很难受。四个小时左右到了,宾馆反正120一天,环境就那样吧。学校离着就300多米,走路就到了。刚到第一件事当然是打开美团外卖,上面弹出
- 2024-02-24Shrink-Reverse
题目传送门有趣的字符串题!抢在官方题解之前写一篇题解。思路因为需要使字符串代表的整数最小化,所以我们显然要删除前导零后的最终序列长度尽可能小。我们发现为了达成这个目的,可以把所有的\(1\)都聚集到一个区间内,不妨设这个区间是\([l,r]\)。那么\(1\dotsl-1\)和\(r
- 2023-11-05树哈希
树哈希用于解决树同构问题树同构对于两个树\(T_1\)和\(T_2\),如果能够把树\(T_1\)的所有点重新标号,使得树\(T_1\)和树\(T_2\)完全相同,那么这两个树是同构的。也就是说,它们具有相同的形态方法将子树大小等信息进行哈希用unsignedlonglong自然溢出
- 2023-10-24Stack Exterminable Arrays
prologueCSPS2023T2原题,什么成分我就不多说了。(考场上没写出来的菜鱼,想到栈了然后算法假了,寄)analysis(虽然这样不对,但是我还是想撇一下我的错解)错解我们开一个栈,每一个元素进来看和栈顶元素一样不一样,如果不一样,就入栈,否则就\(ans+cnt\),\(cnt\)表示我们的栈有多少次是空