CDQ分治
1
__meteor
对于未来, 我只是一个孩子;
展开
-
偏序关系CDQ BZOJ 3262 陌上花开
陌上花开,可缓缓归矣 偏序关系就是按照某个条件的排序关系,这个题是三维偏序关系,然后给这些花划分等级,也就是说,A(x, y, z) 比A'(x',y',z')等级高的话 那么就满足x>=x', y>=y', z>=z'。我们只要统计一下比自己等级低的有几个,按照这个数量做一个等级归纳排序,输出每个等级的个数就解决了。 解决这类问题可以用cdq+树状数组,首先我们对x排序,然...原创 2018-08-22 20:03:33 · 181 阅读 · 0 评论 -
codeforces 1046_problem_A AI robots (cdq分治)
传送门 题意:给n个机器人,机器人都有自己的位置x,可见范围r,智商q,问两个机器人互相可见,并且智商相差不多于k的对数有多少。 思路:运用分治思想,第一维对于r非递减排序,分治,考虑对于左半部分的每一个机器人,右半部分有多少个和它配对的,因为r及从小到大排序,所以只要左能看见右,右就一定能看到左, 第二维对q排序,然后用树状数组维护x,对于q要保证是和枚举的左边的那个机器人智商保持在k的范...原创 2018-09-25 14:08:54 · 273 阅读 · 0 评论 -
p1429 平面最近点对
题意:给平面n个点,求最近的两个点的距离。 思路:运用分治思想,对于n个点,可以分成T(n/2)+T(n/2)的规模,分界线是x坐标的中位数, 假设左边点集合为s1, 右边点集合为s2,那么最小值存在于以下三种情况中。 1.s1中任意两点距离的最小距离 2.s2中任意两点距离的最小距离 3.s1中的点到s2中的点的距离的最小距离 前两部分可以一直分治到底。 第三部分 对于左边每一个...原创 2018-10-24 15:23:06 · 300 阅读 · 0 评论