[toc] 同步: 经过了一周的~~划水~~,我终于搞懂了cdq分治。 总的来说,cdq分治处理偏序问题就是 先把左边和右边当成一个完整的问题处理 然后把左边对右边的影响合并到右边 例题 园丁的烦恼 "传送门" 求静态区域内的点数,二维偏序模板题。 cpp include include const ...
分类:
其他好文 时间:
2019-08-27 23:23:09
阅读次数:
106
题目链接:https://vjudge.net/problem/POJ-2299 题意:给定一个序列,每次只能交换邻近的两个元素,问要交换多少次才能使序列按升序排列。 思路:本质就是求逆序对。我们用归并排序求逆序对,这也是简单的cdq分治。 ...
分类:
编程语言 时间:
2019-08-27 11:06:04
阅读次数:
85
本质上就是暴力 用分块优化而已 时间复杂度$O(kn\sqrt n)$ 在高维时候可以把K D Tree吊起来打 cdq分治连影子都没了 cpp / @Date : 2019 08 13 19:48:10 @Author : Adscn (adscn@qq.com) @Link : https:// ...
分类:
其他好文 时间:
2019-08-14 14:50:33
阅读次数:
93
Mr. Zstu and Mr. Hdu are taking a boring class , Mr. Zstu comes up with a problem to kill time, Mr. Hdu thinks it’s too easy, he solved it very quickl ...
分类:
其他好文 时间:
2019-08-13 22:49:01
阅读次数:
101
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3个整数,表示一个操作,具 ...
分类:
其他好文 时间:
2019-08-13 15:20:24
阅读次数:
52
一、rmq问题 1.st表 2.线段树 3.树状数组 二、lca 三、基本数据结构 1.栈 2.队列 3.单调栈 4.链表 5.stl 6.并查集 7.堆/优先队列 四、分治 1.点分治 2.边分治 3.树链剖分 4.基于询问的分治 5.cdq分治 五、其他 1.可持久化线段树 2.KD-tree ...
分类:
其他好文 时间:
2019-08-11 17:27:04
阅读次数:
70
一、搜索 1.迭代加深 2.估价函数 3.IDA* 二、贪心 三、二分 四、分治 1.序列分治 2.CDQ 分治 3.点分治 4.边分治 5.动态点分治 6.动态边分治 五、倍增 1.快速幂 2.矩阵快速幂 3.ST 表 4.LCA 5.其他 ...
分类:
编程语言 时间:
2019-08-11 10:35:19
阅读次数:
89
再不写这个我真的会因为智商过低而死 7.28 https://www.cnblogs.com/chloris/p/11260955.html插头dp智障操作合集 7.30 P4093 序列 CDQ分治优化DP 排序时b+l打成了b+1导致各种TLE 方案数的+1写在了ask查找的括号里面,导致ask ...
分类:
其他好文 时间:
2019-07-30 21:44:06
阅读次数:
129
tip: CDQ 分治主要处理三维偏序问题,解题时主要是找出比较量(三个或两个),并找出适当排序顺序(有时不需))。 CDQ 分治常常与树状数组搭配,树状数组主要用来统计前缀和(权值前缀和 / 排名)、最值、逆序对。 实战: T1:陌上花开 题干: 有 n 朵花,每朵花有三个属性:花形 (s)、颜色 ...
分类:
其他好文 时间:
2019-07-27 09:34:29
阅读次数:
67