ACM_分治
文章平均质量分 77
ACM_sjtsjt
不忘初心 追求美好
展开
-
hdu 4858 项目管理(图的分治)
共有m条边 设k=sqrt(m) 若一个点的度(即与之有边连接点的个数)小于k成为轻点,剩下的(大于等于k)称为重点 对点i来说degree[i]记录点的度 重点的个数 对于一个点i,A[i]记录这个点的值 对于重点i,sum[i]记录其答案, 对于轻点i,sum[i]无任何作用,轻点的答案通过对所有与轻点相连的点的值求和直接得到 题目可分为三个过程原创 2016-01-31 22:42:59 · 298 阅读 · 0 评论 -
【hdu】5618 Jam's problem again【cdq分治】
【题意】给你n个三元组 让你对每个三元组,找出每个元素都>=改三元组的数量,找出(x1,y1,z1)满足x1>=x,y1>=y,z1>=z 【题解】cdq分治。先对三元组按xyz升序排,x为第一关键字,y为第二关键字,z为第三关键字,然后进行分治,每次分治的时候,将[l,r]中的三元组复制出来,对[l,mid][mid+1,r]进行yz升序的sort,y为第一关键字,z为第二关键字,然后对于每原创 2016-08-13 13:45:26 · 462 阅读 · 0 评论 -
【hdu】5354 Bipartite Graph【cdq分治+并查集】
【题意】:给你一个图,问删除一个节点后,该图还是不是二分图 【题解】:题意很简单,显然数据范围不可能允许我们n方暴力。关于判断二分图我们可以用染色法,也可以使用并查集,染色法每次都需要遍历全图,显然是行不通的,我们这题采用的是cdq分治+并查集,这里的并查集要求不能路径压缩,并且可删除,关于并查集的可删除我们可以每次用一个栈记录新合并之前的节点的状态,还原的时候把栈中储存的信息一个一个拿出来就好原创 2016-08-13 23:13:42 · 496 阅读 · 0 评论