摘要:
概述 某些题目的数据,如果顺序随机,将会有非常美妙的结论。 但显然,除非写了“保证数据随机”(事实上,没给 generator 的随机都可以认为是构造...),否则出题人不会这样给数据。 此时就要考虑将数据重排,以获得较优的效果。 如何随机打乱? 给出一种均匀随机的打乱算法及证明: template 阅读全文
posted @ 2023-01-15 10:23
未欣
阅读(66)
评论(0)
推荐(0)
摘要:
概述 强化反复是一种随机化思想。 具体来讲,有时题目中的限制过于复杂,无法处理或处理的复杂度不可接受。 此时可以考虑通过随机化地加强限制获得一个较可做的条件,然后多次反复,只要有一次恰好是答案就算成功。 注意,这种“加强限制”指的是将原限制简化规约到某个较强的限制上,必须保证对于所有弱限制下的可能解 阅读全文
posted @ 2023-01-15 10:20
未欣
阅读(26)
评论(0)
推荐(0)
摘要:
强化反复 随机打乱 随机排序 随机选择 随机探测 阅读全文
posted @ 2023-01-15 10:18
未欣
阅读(18)
评论(0)
推荐(1)
摘要:
LCA 与树上差分 轻重链剖分 长链剖分 树分治 阅读全文
posted @ 2023-01-15 10:13
未欣
阅读(18)
评论(0)
推荐(0)
摘要:
概述 树分治通过树的唯一连通性质,递归地求解树上路径(主要是路径长度)相关的问题。 树分治主要包括点分治和边分治。我只会点分治。 点分治 点分治通过选取点作为分割来求解树上路径问题。 较具体地说,如果我们选定一个关键点 $key$ 来分割当前处理的(子)树,那么路径可以分为以下两种: 过 $key$ 阅读全文
posted @ 2023-01-15 10:12
未欣
阅读(67)
评论(0)
推荐(0)
摘要:
概述 分治优化常常在 dp 的转移有某种单向单调性时使用,通过类似整体二分的结构,确保每个决策点只在一条链上出现,从而加速转移。一般这种分治优化也有对应的二分栈形式,区别仅在于逆推和顺推。此部分在四边形不等式优化一节。 分治优化本身还是一种非常有趣的 dp 实现方式。这一部分...我还不是非常了解, 阅读全文
posted @ 2023-01-15 10:11
未欣
阅读(107)
评论(0)
推荐(0)
摘要:
概述 线段树分治通过将信息下放到时间上的某一段,利用欧拉环游序的特性,高效地离线处理加删问题。 简单来说,对于某个元素 \(x\),设其生命周期为 \([L,R]\)(即其在 \([L,R]\) 期间存在),则将其下放到线段树上的对应段。 在全部信息离线完毕后,对线段树进行 dfs,利用欧拉环游序或 阅读全文
posted @ 2023-01-15 10:10
未欣
阅读(63)
评论(0)
推荐(0)
摘要:
概述 CDQ 的本质好像是付 \(\log\) 解一维限制,付几个解几个,但是只能在一维上保序... 大概就是,不断地把有序的维移动。譬如三维偏序的 cdq 套 cdq,首先让第一维有序,然后把序转到第二维上,此时第一维会失序所以要预先标记每个点在第一维上在左/右,然后把序转到第三维上,在转序的过程 阅读全文
posted @ 2023-01-15 10:09
未欣
阅读(42)
评论(0)
推荐(0)
摘要:
概述 纯粹分治是分治思想最纯粹,最朴实,最本质?的应用。 我不太会描述...一个典型是平面分治计数。还是看例题吧... 例题 Public NOIP Round #3 数圈圈 题意:求一个二维矩阵中的圈的数量。所谓圈,就是字母全部相同的一个矩形壳。 数据范围:$n,m\leqslant 2\time 阅读全文
posted @ 2023-01-15 10:08
未欣
阅读(29)
评论(0)
推荐(0)
摘要:
概述 倍增是基于二进制的一种...预处理?思想。 具体来讲,很多时候想要预处理全范围是不可行的,但我们可以利用二进制能简洁地表示出任何数的特性,做步长为二的整数次幂的预处理,然后由它即时计算任意长度的值。($O(n^2)-O(1)\to O(n\log)-O(\log)$,复杂度平衡...?) 二分 阅读全文
posted @ 2023-01-15 10:07
未欣
阅读(45)
评论(0)
推荐(0)

浙公网安备 33010602011771号