
分治
Best KeyBoard
这个作者很懒,什么都没留下…
展开
-
知识点 - CDQ分治
知识点 - CDQ分治 解决问题类型: 三维偏序问题 前置知识 树状数组 分治思想 实现 一. cmp函数 cmp函数在第一比较元素相等时应该返回后面元素较大的 原来的CDQ分治是可以不严格的,所以在完全相等的时候我们的操作是直接将其合并为一个节点。 而现在不严格时,为了不让相同元素进行干扰,我们就让大的在前面,这样就一定不会有问题了。 二. 树状数组要修改 现在要求树状数组的功能时 dp[i...原创 2019-09-10 19:07:27 · 214 阅读 · 0 评论 -
知识点 - 区间分治(启发式分治) 19HDU多校#10 1011 Make Rounddog Happy 19牛客多校#3 G Removing Stones UVALive-6258 题解
知识点 - 区间分治(启发式分治) 解决问题类型: 要求遍历所有区间。 比如满足某性质的区间个数、是否每个区间都满足某个性质。 算法: 分治的时候通过一些操作避免退化为O(n2)O(n^2)O(n2) 例题 UVALive-6258 Non-boring sequences 题意 称所有区间都有一个数只出现一次为数列为Non-boring的。 给你一个数列,问是不是Non-boring的 分析 区...原创 2019-08-21 21:20:07 · 343 阅读 · 1 评论 -
知识点 - 点分治
知识点 - 点分治 解决问题类型: 树上路径问题的工具,举个例子: 给定一棵树和一个整数 kk ,求树上边数等于 kk 的路径有多少条 实现 原理 如图,假设我们选出一个根 RootRootRoot ,那么答案路径肯定是要么被一个子树所包含,要么就是跨过 RootRootRoot,在黑子树中选择一部分路径,在红子树中选择一部分路径,然后从 RootRootRoot 处拼起来形成一条答案路径 ...转载 2019-09-19 12:05:55 · 272 阅读 · 0 评论