06 2021 档案
摘要:树链剖分 引入: 如果我们需要建立一棵树,而且需要维护树上路径的信息,较为方便的做法就是树链剖分。 形式: 树剖主要有两种形式: 重链剖分:利用 \(size\) 定义重节点。 长链剖分:利用 \(depth\) 定义重节点。 一般来说,树链剖分指的是重链剖分。本篇博客主要讲的也是重链剖分。 作用:
阅读全文
摘要:0629今日知识点总结: T1: 看时间复杂度,我们需要一定的优化。 我们当访问到一个访问过的节点,那么其子树一定被变成 \(0\),因此,我们可以直接返回。 此外,这里还有一点隐藏的数据结构特点: 对于结构体存邻接表和单独数组存邻接表和vector存时间复杂度不同。 这里记住 开 \(O^2\)
阅读全文
摘要:二项式反演 引入: 形式与多步容斥相似,公式与多步容斥类似,多步容斥公式为: \(|A_1\cup A_2\cup...\cup A_n|=\sum\limits_{1\le i\le n}|A_i|-\sum\limits_{1\le i<j\le n}|A_i\cap A_j|+...+(-1)
阅读全文
摘要:20210620总结 T1: 题意: 一共有 \(n\) 个数,这些数可以组成 \(2^n-1\) 个组合,在全部组合中,我们在其中挑选不超过 \(m\) 个数,问总共有多少种组合。 思路: 这个题一开始是枚举组合的情况,但是这样有点难算,我们因此转换思路,枚举数字。 例如 \(A,B,C\) 我们
阅读全文
摘要:字符串哈希就是将字符串转化为一个整数 Hash方法 给定一个字符串 \(s=s_1,s_2,s_3 ... s_n\) , 对字母$x$,我们规定 \(idx(x)=x−′a′+1\)。 (当然也可以直接用 $s_i$的 ASCII值) 1.自然溢出方法 \(hash[i]=hash[i−1]∗p+
阅读全文