随笔分类 -  数据结构-并查集

摘要:题意:有N个人被分为了三组,其中有一个人是开了挂的。同组的人的关系是‘=’,不同组的人关系是‘<’或'>',但是开了挂的人可以给出自己和他人任意的关系。现在要根据M条关系找出这个开了挂的人。M条关系中可能有多组异常信息。可能会有多个人是外挂,也可能找不出外挂,如果能找到,则要输出其编号X和最早能确定 阅读全文
posted @ 2018-08-04 11:12 xiuwenL 阅读(151) 评论(0) 推荐(0)
摘要:题意:有N个星球,每个星球有自己的武力值。星球之间有M条无向边,连通的两个点可以相互呼叫支援,前提是对方的武力值要大于自己。当武力值最大的伙伴有多个时,选择编号最小的。有Q次操作,destroy为切断连接两点的边,query为查询某星球能不能向它人呼叫支援。 还是需要离线逆向并查集求解。思路和HDU 阅读全文
posted @ 2018-08-03 18:29 xiuwenL 阅读(148) 评论(0) 推荐(0)
摘要:题意:有N个点M条边的无向图,每次删除一条边直到删完为止,求每一次删边操作之后,连通块的个数。 M<=1e5,N<=1e4。如果每次删边之后暴力求连通块肯定超时。换个思路,对一个N阶零图,我们用并查集表示每一个点为独立的连通块,然后每次加边后检查边连接的两点是否已在一个连通块中,以此求出每次加边后的 阅读全文
posted @ 2018-08-03 15:14 xiuwenL 阅读(162) 评论(0) 推荐(0)
摘要:题意:有序列A[1..N],其元素值为0或1。有M条信息,每条信息表示区间[L,R]中1的个数为偶数或奇数个,但是可能有错误的信息。求最多满足前多少条信息。 分析:区间统计的带权并查集,只是本题中路径的运算是用模2或异或逻辑。而且需要注意的是,本题N可达1e9,但M只有5000,所以最多出现的坐标只 阅读全文
posted @ 2018-08-03 10:42 xiuwenL 阅读(132) 评论(0) 推荐(0)
摘要:题意:有长度为N的序列A,每个值都位置。给出M条信息:A[L...R]之和为S。但是不一定每一条都是正确的,求出错误的信息个数。 分析:经典的带权并查集问题。一个区间内的和可以转化为右端点到其父亲结点的距离,而父亲节点是L-1。如果R点和L-1点本身已经在一个集合内,那么他们之间的矢量关系应该满足d 阅读全文
posted @ 2018-08-02 16:35 xiuwenL 阅读(211) 评论(0) 推荐(0)