摘要: 重点在 E B 如果 \(lcm(a,b)\neq b\),则是一个答案。 否则答案是 \(b\times\frac{b}{a}\)。 C 先前缀和。设前缀和 \(s_i\)。考虑 \(s_i\) 减去多少个 \(1\)。 若 \(i=1\),直接就是答案; 否则答案会减去 \(s_i/3\),若 阅读全文
posted @ 2024-02-05 14:12 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 多次判断 \(x\) 是否是 \(y\) 的祖先: 对每一个点,增加两个属性: 刚搜到这个点的时间戳,和回溯这个点的时间戳。 \(x\) 是 \(y\) 的祖先,等价于 \(x\) 开始到结束的区间 包含 \(y\) 开始到结束的区间。(如\([1,7]\)包含\([2,3]\),则\([1,7]\ 阅读全文
posted @ 2024-02-05 14:10 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 【概念】 都是无向图的概念 支配集:一个点集,使得无向图中每个点要么是点集中的点,要么与点集相邻。 独立集:一个点集,使得点集中任意两点不相邻。 以上两个在任意图中都是 NP 问题,也就是无法在多项式时间内求解的问题。 点覆盖:一个点集,使得所有边都至少与点集中一个点相连。 结论:点覆盖的补集是独立 阅读全文
posted @ 2024-02-02 09:08 FLY_lai 阅读(8) 评论(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 阅读(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) 编辑