随笔分类 - 总结
期望解题法
摘要:这篇博客教你如何使用公式,套路地解决一类期望题 受 tommymio 启发,总结了一下 前置知识:,其中 可以有依赖关系。 证明 OI Wiki 上有。 例题 CF280C Game on Tre
学图论
摘要:Boruvka 每一轮操作,对于每个点来说,让他和“最近的与他有连边且还未连通的点”相连。 最多 轮,每轮 , 为找“最近的与他有连边且还未连通的点”的复杂度。 Kruskal 重构树 设从小到大加边,性质
线段树合并 笔记
摘要:主要是忘了复杂度证明,所以来记一记 int merge(int u, int v, int l, int r) { if (!u || !v) return u | v; if (l == r) return a[u].sum += a[v].sum, u; a[u].lc = merge(a[u]
简单萌萌哒 Top Tree(上)
摘要:前情提要(? Top Cluster 分解与 Top Tree 情景导入 我们总是想要以一种合适的方式对树进行划分,但是对于菊花图而言,基于点的划分总是不合适的,这启发我们基于边进行划分。事实上可以证明,基于边的划分总是可行的。 Top Cluster 分解就是一种基于边的划分方式,下面我们来介绍他
动态树笔记
摘要:不知道“树链剖分”、“全局平衡二叉树”等应不应该归类到“动态树”里面... 解决动态树问题的本质是将原树映射到一个高度为 的树上。 树链剖分 主要是重链剖分,具体略. 支持: 链修改 链查询 子树修改 子树查询 这里的修改、查询需要满足可以用数据结构维护. 一般两只 lo
长链剖分笔记
摘要:与轻重链剖分相似. dfs1:高度 、;dfs2:. 性质 1:到根最多 条轻边. (证明:长链长度最坏情况:1, 2, 3...) 性质 2: 的 级祖先 所在的长链长度 .(证
SAM 笔记
摘要:SAM 笔记 有人问我 是什么?一个串的 就是它在原串中的所有出现位置右端点集合。 后缀自动机每个节点对应的是一些本质不同的字符串,这些串满足属于同一个等价类,即 相同. 这些串有后缀关系.
一句话 Lucas
摘要:狭义 Lucas( 质数): 转成 进制,然后算对应位组合数相乘 完整 Lucas:对于 ,分讨 中 的倍数和非 的倍数;对于 ,中国剩余定理合并. 其实本质上就是对着 \(\dfrac{n!}{m!(
数学题 2(筛子题)
摘要:T1 Statement 求出 的线性筛递推式,并证明复杂度是线性的。 Solution \[ \gcd(n,k)=\begin{cases} 1&(n=1)\\ \gcd(\frac n{P(n)},k)\cdot P(n)&(\gcd(\frac n{P(n)},k)
dp 题 2
摘要:T1 Statement 你需要将 个数的序列 划分成若干连续段,设其中一段的所有数之和为 ,那么这段的得分为 ,其中 已知,求划分得到的最大总得分。\(-5\le a\le-1,|b|,|c|\
置换 & 基环树题
摘要:T1 Statement 给一个长度为 的排列 。求一个排列 ,使得 ,或输出不存在。 Solution 先把所有排列变成置换 对于任意排列 ,它转成置换后都是 \(i\to
数位 dp 题
摘要:T1 Statement 任意相邻两个数字之差至少为 的正整数被称为 windy 数。给出 ,求 中有多少个 windy 数。 Solution 我们使用记忆化搜索实现。 表示
主定理
摘要:记 \[ T(n)=\begin{cases}\Theta(n^t)\ \ \ \ \ &f(n)=O(n^{t-\epsilon}),\epsilon>0\\\Theta(f(n))&f(n
整体二分
摘要:主要思想:把多个询问一起解决(一次二分同时处理多个询问,确实顾名思义) 记 为答案的值域, 为答案的定义域,。(也就是说求答案时仅考虑下标在 内的操作和询问,这其中询问 的答案在 内) 我们首
一句话
摘要:点分治 对于一棵子树,即正常 dfs 的根改成该子树重心,递归下去是按原树儿子所在子树的重心(每次找一遍),变成了子问题,可以处理与树形态没什么关联的问题 发现 siz 每次减半,故深度 log 层;同时 siz 大小总和的复杂度是对的 由于总是处理的整棵子树,而答案与子树遍历关系无关,所以一定是对