摘要:
定义 Powerful Number(以下简称 PN)筛类似于杜教筛,可以拿来求一些积性函数的前缀和。 要求: 假设现在要求积性函数 \(f\) 的前缀和 \(F(n)=\sum_{i=1}^nf(i)\),需要存在一个函数 \(g\) 满足: \(g\) 是积性函数。 \(g\) 易求前缀和。 对 阅读全文
摘要:
问题特征 棘手之处在于,转移是环,而答案也位于环中。 处理方式 先假定答案,再计算得出按照假定情况转移,得出的答案。 如果前者和后者满足一定的单调性,则可以二分答案。 习题 [51nod]1340 地铁环线 [未公开]速通 阅读全文
摘要:
点分治 适合处理大规模的树上路径信息问题。 考虑随意选择一个节点作为根节点。 所有完全位于其子树中的路径可以分为两种: 经过当前根节点的路径,这种路径又可以分为两种: 以根节点为一个端点的路径; 两个端点都不为根节点的路径(可以由前者合并得到); 不经过当前根节点的路径。 所以可以在当前根节点只解决 阅读全文
摘要:
是状态 DP 的一种,主要是对于网格图状压,实现 \(O(1)\) 转移的一种处理方式。 oooo x - 是状压了信息的位置,x 是当前更新的位置。 应用价值 可以一格一格考虑状态,转移 \(O(1)\)。 更加容易避免非法状态,减小常数。 对于需要维护连通性的 DP 处理起来比较方便,用相同编号 阅读全文
摘要:
问题概述 有些题目会给出一些条件转移,然后要求若干次转移的结果。 处理方式 用更加形式化的运算来表示题目的转移,有时候会让问题变简单。 习题 [YZOJ] 7131 未来 给出长度为 \(n\) ,字符集大小为 \(3\) 的字符串 \(S\),每次的变化为: 若 \(S_i=S_{i+1}\),\ 阅读全文
摘要:
模型概述 给出 \(n\) 个数,可以在一定的限制下,以相对自由的顺序选择完所有的数,每次选择将会产生一定的贡献。 处理方式 对于具体题目具体分析,把一定会一起选的部分合并在一起,使得问题变简单。 习题 [YZOJ] 7117 Mythological VII 给出一个长度为 \(n\) 的序列 \ 阅读全文
摘要:
最小割 模型概述1 有 $n$ 个物品和两个集合 $A,B$ ,如果将一个物品放入 $A$ 集合会花费 $a_i$,放入 $B$ 集合会花费 $b_i$。 还有若干个形如 $(u_i,v_i,w_i)$ 限制条件,表示如果 $u_i$ 和 $v_i$ 不在一个集合会花费 $w_i$。 每个物品必须且 阅读全文
摘要:
仙人掌 与圆方树的关系 圆方树最初是用来处理仙人掌问题的,但在处理某些问题时,也可以拓展到一般图。 定义 每条边在不超过一个简单环中的无向图。 相关问题 如果一个序列问题不够毒瘤,就上树,还不够,就上仙人掌。 不过这里只考虑一些基础的问题,一个共同的核心思想就是按照是否在环上来讨论。 直径 最大独立 阅读全文
摘要:
对于一棵较大的树,在保留关键点和树的形态的前提下,使用尽量少的节点数目。 虚树的构建 算法1 将关键点按 dfn 序排序; 遍历一遍,任意两个相邻的关键点求一下 LCA,并且哈希表判重; 然后根据原树中的祖先后代关系建树。 算法2 加入所有关键点的 LCA 作为虚树的根; 将关键点按 dfn 序排序 阅读全文
摘要:
简介 贪心的局限性在于其只满足当前的最优,无法保证全局的最优,一般此时就会选择 DP ,但是有的情况,可以通过加入“反悔”操作来保证正确性。 同时,带悔贪心又名模拟费用流,原因是有的问题可以使用费用流解决,但是费用流的复杂度过高,由于图的特殊性,分析出可以带悔贪心。 同时,有些较为复杂的带悔贪心题目 阅读全文
摘要:
定义 简单的说就是给出 \(n\) 个集合,每个集合有两个元素,已知形如选 \(a\) 则必须选 \(b\) 的若干个条件, 问是否存在从每个集合选择一个元素满足条件的方案,通常可以题目只要求任意一种方案。 输出方案 对建出的图进行缩点; 若二选一的某对变量在同一强连通分量,无解; 如果只需要一组可 阅读全文
摘要:
\(f(i)\) 为 \(k\) 次多项式,\(\sum_{i=0}^nf(i)\cdot q^i\) 的 \(O(k\log k)\) 求法 令 \(S(n)=\sum_{i=0}^{n-1}f(i)\cdot q^i\),有一个结论,存在一个 \(\le k\) 次多项式 \(g(n)\) 使得 阅读全文
摘要:
用处 快速查询一个数是否可以被一堆数异或出来 快速查询一堆数可以异或出来的最大 / 最小值 快速查询一堆数可以异或出来的第 \(k\) 大值 性质 原数列里的任何一个数都可以通过线性基里的数异或表示出来 线性基里任意一个子集的异或和都不为 \(0\) 一个数列可能有多个线性基,但是线性基里数的数量一 阅读全文
摘要:
行列式 \(\det(A)=\sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)\prod_{i=1}^na_{i,\sigma(i)}\) 其中 \(S_n\) 是指长度为 \(n\) 的全排列的集合,\(\sigma\) 就是一个全排列,如果 \(\sig 阅读全文
摘要:
转对偶图 Lid , Rid 分别是每条边左右的区域的编号; to[x],fr[x] 分别是 \(x\) 指出去和指向 \(x\) 的边 (从左往右排列); void build(){ static queue <int> Q; Q.push(S); while(!Q.empty()){ int x 阅读全文