随笔分类 - 日常总结
竞赛学习
摘要:树上的基础知识,也有一些科技。 LCA 的求法 树剖 倍增 跳到同一深度后记得判两个点相同的情况。 ST表 除了这个要么熟知要么没什么用。学习一下。 预处理 \(O(n\log n)\),查询 \(O(1)\)。可以用 DFS 序或者欧拉序实现。但是欧拉序的常数较大,还是用 DFS 序。 主要参考
阅读全文
摘要:点分治 可以处理大规模树上路径信息问题。 每次选择一个节点作为根节点\(rt\),树上路径要么经过\(rt\)要么不经过\(rt\)。先处理\(rt\)作为链的一端,子树中的点作为另一端的链的贡献,那么经过\(rt\)的路径的信息可以通过这样的链合并得到。 然后对于每个子树递归下去处理。递归下去之前
阅读全文
摘要:先遍历轻儿子计算答案,不保留影响。 遍历重儿子计算答案,保留影响。 再遍历轻儿子,加入其对 \(u\) 的贡献,计算 \(u\) 的答案。 这一部分通过类似重链剖分的分析,是\(O(n\log n)\)的。加上算贡献的复杂度还要再乘进去。 好写,适合乱搞,或者利用小常数冲过一些题。 这样的复杂度分析
阅读全文
摘要:在树上做一些东西的时候(废话),我们发现有很多树上的点是没有用的。 虚树就是对树上信息高度概括的技术,在虚树上,我们只保留最为有用的信息,且保持祖先后代关系不变。 具体而言,我们称一些点为关键点,即只有这些点会对问题的答案产生影响。 那么我们发现,关键点的LCA也是关键点。 当我们钦定树上的\(k\
阅读全文
摘要:是要长脑子了吗? P8346 「Wdoi-6」最澄澈的空与海 P5875 [IOI 2014] friend 朋友 [AGC050A] AtCoder Jumper
阅读全文
摘要:做一些典题。主要是建模。 费用流的时间复杂度按 \(O(nmf)\) 算,最大流正常算。 P4016 负载平衡问题 可以经典贪心。设 \(K_i\) 表示第 \(i\) 个点向左边传递的货物量,\(x_i\) 表示第 \(i\) 个点本来有的货物量。最后一定满足 \(\overline x=x_i-
阅读全文
摘要:有很多在 OI 中神秘的科技。是很难的基于数学的优化。 线性规划 线性规划
阅读全文
摘要:和网络流有密切联系。网络流是线性规划的特殊形式。 一些概念 定义关于变量 \(x_1,x_2,\cdots,x_n\) 的线性函数 \(f(x_1,x_2,\cdots,x_n)=\sum\limits_{i=1}^na_ix_i\)。关于 \(f\) 的等式和不等式称为线性约束。线性规划就是在一组
阅读全文