随笔分类 - 笔记 / 基础算法 / 分治
摘要:概述 树分治通过树的唯一连通性质,递归地求解树上路径(主要是路径长度)相关的问题。 树分治主要包括点分治和边分治。我只会点分治。 点分治 点分治通过选取点作为分割来求解树上路径问题。 较具体地说,如果我们选定一个关键点 来分割当前处理的(子)树,那么路径可以分为以下两种: 过
阅读全文
摘要:概述 分治优化常常在 dp 的转移有某种单向单调性时使用,通过类似整体二分的结构,确保每个决策点只在一条链上出现,从而加速转移。一般这种分治优化也有对应的二分栈形式,区别仅在于逆推和顺推。此部分在四边形不等式优化一节。 分治优化本身还是一种非常有趣的 dp 实现方式。这一部分...我还不是非常了解,
阅读全文
摘要:概述 线段树分治通过将信息下放到时间上的某一段,利用欧拉环游序的特性,高效地离线处理加删问题。 简单来说,对于某个元素 ,设其生命周期为 (即其在 期间存在),则将其下放到线段树上的对应段。 在全部信息离线完毕后,对线段树进行 dfs,利用欧拉环游序或者说入出栈序
阅读全文
摘要:概述 CDQ 的本质好像是付 解一维限制,付几个解几个,但是只能在一维上保序... 大概就是,不断地把有序的维移动。譬如三维偏序的 cdq 套 cdq,首先让第一维有序,然后把序转到第二维上,此时第一维会失序所以要预先标记每个点在第一维上在左/右,然后把序转到第三维上,在转序的过程中(
阅读全文
摘要:概述 纯粹分治是分治思想最纯粹,最朴实,最本质?的应用。 我不太会描述...一个典型是平面分治计数。还是看例题吧... 例题 Public NOIP Round #3 数圈圈 题意:求一个二维矩阵中的圈的数量。所谓圈,就是字母全部相同的一个矩形壳。 数据范围:$n,m\leqslant 2\time
阅读全文
摘要:概述 根号分治,是一种对数据进行分治的分治方式。 具体来说,如果所要求进行的过程满足满足大点、小点(一般以根号为分界,因为这样复杂度最平衡)可以使用不同的方式处理,则可以考虑使用根号分治。一般常见的有两种情况: 根号以下的数据的种类很少,可以全部维护之;根号以上的数据,直接暴力的复杂度可接受。典型代
阅读全文