摘要: 定义 概率:\(P(A)\),表示事件 \(A\) 发生的可能性。 全概率公式:若 \(B_1\sim B_n\) 构成一个完备事件组(即恰好覆盖了所有可能性的事件组),则 \(P(A)=\sum P(A|B_i)P(B_i)\)。 期望:记作 \(E(x)\),其中 \(x\) 是一个随机变量。如 阅读全文
posted @ 2024-02-01 14:57 FLY_lai 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 【Trie 树】 我们试图给每一个字符串一个对应的值。但是由于字符串长度不定,也不是数字,所以不能用数组。 有几种办法: STL map,二叉排序树(平衡树),\(O(\log (n)\cdot len)\)。\(len\) 为字符串长度。 Trie,插入删除查询都是 \(O(len)\) 的。但是 阅读全文
posted @ 2024-02-01 09:49 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 【最小表示法】 最小表示法 循环表示:从一个位置开始向后遍历,到末尾再倒回去最前面。一个字符串(数组)一共有 \(n\) 个。 最小表示法就是最小的循环表示。 例如,3 1 4 9 1 的最小表示法是 1 3 1 4 9. 如果我们用打擂台比大小的方式,因为字符串之间比较需要时间,总共是 \(O(n 阅读全文
posted @ 2024-02-01 09:47 FLY_lai 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 最小斯坦纳树 给定 \(k\) 个关键点必须选,选一些点,选一些边连接他们,求总边权最小。 首先最终肯定选出一棵树。看到 \(k\) 的范围,果断状压。 \(dp[i][S]\) 表示以 \(i\) 为根,至少(不是恰好)包含 \(S\) 中的关键点的最小边权总和。 如果最终的树中 \(i\) 的度 阅读全文
posted @ 2024-02-01 09:46 FLY_lai 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 【哈希】 哈希可以分成两块:哈希函数和哈希表。 哈希函数是一种对应关系,它可以把任意类型映射为一个不太大的整数。 例如字符串,我们可能希望在字符串上记录一些属性。但是字符串不能当下标,那我们就只能加个大常数用 map。 这时,哈希函数出场了!如果我们有一个哈希函数 \(h()\) 可以把一个字符串 阅读全文
posted @ 2024-02-01 09:46 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 【什么是虚树】 OI-wiki 如果题目里有一些关键点,而整棵树规模过大,我们可以考虑使用虚树来重新建树,以减少树的规模。 虚树:一颗树,树中包含所有关键点,以及任意多个关键点的 LCA。 可以发现在这颗虚树中,任意两个关键点的 LCA 都不变(还是对应原树的结点),并且只要我们把虚树中每条边的距离 阅读全文
posted @ 2024-02-01 09:44 FLY_lai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 郑哥狂喜 引入:静态区间第 k 小。给定一个数组和若干个询问,每次询问要查询某个区间中第 \(k\) 小的数。 这里介绍一种整体二分的算法。 如果只有一个询问,有一种二分的算法: 初始左右端点设为整个数组的最小值和最大值,不断二分。看一下二分值 \(mid\),比 \(mid\) 小的数有 \(t\ 阅读全文
posted @ 2024-02-01 09:42 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 【定义】 知识:向量组、线性空间、线性相关性。 向量组:一组向量,各个维数相等。 线性表示:如果一个向量能被一个向量组中若干个向量乘上系数后相加得到,称这个向量可被此向量组线性表示。 (例如向量组 \(s=(v1,v2)\),\(tmp=2v1+3v2\),则 \(tmp\) 可被 \(s\) 线性 阅读全文
posted @ 2024-02-01 09:41 FLY_lai 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 这是一种线段树的高级玩法:在时间轴上运用。每个时间节点作为一个叶子,在一个时间区间内的标记,就可以影响到这个区间内的所有时刻。 题目传送门 建立一颗基于询问的线段树,也就是说线段树的每个结点都代表区间内的一些询问。 因为删除操作不好搞,我们反向考虑,求每个询问存在哪些边。 我们可以对每条边,求出它是 阅读全文
posted @ 2024-02-01 09:41 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 我们想要求一个分数,尽可能逼近一个小数。 【法一:分数二分】 利用 \(\dfrac{a}{b}<\dfrac{a+c}{b+d}<\dfrac{c}{d}\),一开始只需要让 \([\dfrac{a}{b},\dfrac{c}{d}]\) 中有答案就行,然后不断判断 \(\dfrac{a+c}{b 阅读全文
posted @ 2024-02-01 09:40 FLY_lai 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 可并堆:一种支持插入、删除、修改、删除任意一个元素、求 \(\min\) 还有合并的数据结构。 下面的只讲可并堆中的一种:左偏树。 左偏树是二叉树,但并不是完全二叉树。它满足两个性质:① 每个结点的权值都小于等于儿子。② 每个结点 \(dist(L)\ge dist(R)\),\(L,R\) 分别是 阅读全文
posted @ 2024-02-01 09:39 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 例题:CF600E 有一种暴力的想法是先 DFS 每个结点,再对每个结点 DFS 它的子树,用 \(cnt\) 数组记录每个结点子树的颜色出现情况。复杂度 \(O(n^2)\)。 一个平平无奇的优化:第一层 DFS 的时候,把重儿子放到最后搜索。在搜索重儿子的子树后,不清空 \(cnt\) 数组。然 阅读全文
posted @ 2024-02-01 09:36 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 【基本概念】 第一类斯特林数:\(\begin{bmatrix}n\\k\end{bmatrix}\):把 \(n\) 个数放入 \(k\) 个环中,本质不同的方案数。(要求每个环非空,环之间不区分,环可旋转) 递推公式:\(\begin{bmatrix}n\\k\end{bmatrix}=(n-1 阅读全文
posted @ 2024-02-01 09:35 FLY_lai 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 有 \(n\) 个 01变量 \(x_1\sim x_n\),同时有 \(a_1\sim a_n,b_1\sim b_n\). 同时有约束条件:用集合 \(S\) 表示,这个 \(S\) 中每一个元素表示一个 \(x_1\sim x_n\) 的取法。(平时见到的题不咋有约束) 我们要给 \(x_1\ 阅读全文
posted @ 2024-02-01 09:33 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 积性函数 【定义】 若对于一个数论函数 \(f\),有: 对 \((a,b)=1\),有 \(f(a\times b) = f(a) \times f(b)\), 称 \(f\) 是一个积性函数。 特别地,若对于任意数 \(a,b\),有 \(f(a\times b)=f(a)\times f(b) 阅读全文
posted @ 2024-02-01 09:31 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 前置:积性函数与狄利克雷卷积 和 整除分块 两个基础积性函数:\(\varepsilon(n)=[n=1]\),\(1(n)=1\)。 性质:\(\varepsilon*f=f\),\(f\) 是任意函数。 结论:\(f(n)\) 是积性函数 \(\iff g(n)=\displaystyle\su 阅读全文
posted @ 2024-02-01 09:29 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 常搭配莫反食用。莫比乌斯反演笔记 P2261 余数求和 求 \(\displaystyle\sum_{i=1}^n k\bmod i\),\(n,k\le 1e9\)。 第一步:\(k\bmod i=k-i\cdot\lfloor\dfrac{k}{i}\rfloor\),\(\text{原式}=\ 阅读全文
posted @ 2024-02-01 09:17 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑