摘要: 【概念】 都是无向图的概念 支配集:一个点集,使得无向图中每个点要么是点集中的点,要么与点集相邻。 独立集:一个点集,使得点集中任意两点不相邻。 以上两个在任意图中都是 NP 问题,也就是无法在多项式时间内求解的问题。 点覆盖:一个点集,使得所有边都至少与点集中一个点相连。 结论:点覆盖的补集是独立 阅读全文
posted @ 2024-02-02 09:08 FLY_lai 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 定义 概率:\(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 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 【Trie 树】 我们试图给每一个字符串一个对应的值。但是由于字符串长度不定,也不是数字,所以不能用数组。 有几种办法: STL map,二叉排序树(平衡树),\(O(\log (n)\cdot len)\)。\(len\) 为字符串长度。 Trie,插入删除查询都是 \(O(len)\) 的。但是 阅读全文
posted @ 2024-02-01 09:49 FLY_lai 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 【最小表示法】 最小表示法 循环表示:从一个位置开始向后遍历,到末尾再倒回去最前面。一个字符串(数组)一共有 \(n\) 个。 最小表示法就是最小的循环表示。 例如,3 1 4 9 1 的最小表示法是 1 3 1 4 9. 如果我们用打擂台比大小的方式,因为字符串之间比较需要时间,总共是 \(O(n 阅读全文
posted @ 2024-02-01 09:47 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 最小斯坦纳树 给定 \(k\) 个关键点必须选,选一些点,选一些边连接他们,求总边权最小。 首先最终肯定选出一棵树。看到 \(k\) 的范围,果断状压。 \(dp[i][S]\) 表示以 \(i\) 为根,至少(不是恰好)包含 \(S\) 中的关键点的最小边权总和。 如果最终的树中 \(i\) 的度 阅读全文
posted @ 2024-02-01 09:46 FLY_lai 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 【哈希】 哈希可以分成两块:哈希函数和哈希表。 哈希函数是一种对应关系,它可以把任意类型映射为一个不太大的整数。 例如字符串,我们可能希望在字符串上记录一些属性。但是字符串不能当下标,那我们就只能加个大常数用 map。 这时,哈希函数出场了!如果我们有一个哈希函数 \(h()\) 可以把一个字符串 阅读全文
posted @ 2024-02-01 09:46 FLY_lai 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 【什么是虚树】 OI-wiki 如果题目里有一些关键点,而整棵树规模过大,我们可以考虑使用虚树来重新建树,以减少树的规模。 虚树:一颗树,树中包含所有关键点,以及任意多个关键点的 LCA。 可以发现在这颗虚树中,任意两个关键点的 LCA 都不变(还是对应原树的结点),并且只要我们把虚树中每条边的距离 阅读全文
posted @ 2024-02-01 09:44 FLY_lai 阅读(9) 评论(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 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 这是一种线段树的高级玩法:在时间轴上运用。每个时间节点作为一个叶子,在一个时间区间内的标记,就可以影响到这个区间内的所有时刻。 题目传送门 建立一颗基于询问的线段树,也就是说线段树的每个结点都代表区间内的一些询问。 因为删除操作不好搞,我们反向考虑,求每个询问存在哪些边。 我们可以对每条边,求出它是 阅读全文
posted @ 2024-02-01 09:41 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑