![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构_并查集
wang2147483647
这个作者很懒,什么都没留下…
展开
-
Hdu 5441 Travel(并查集)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5441思路:离线处理。将边权值按从小到大排序,查询标号后按照从小到大排序。对于每次查询,依次将比当前查询值小的边加入并查集。对于两个符合条件即将合并的连通块增加答案个数num[x]*num[y]*2 。合并:fa[x]=y; num[y]+=num[x]; 。最后依次输出结果即可。#incl原创 2016-08-04 20:46:19 · 630 阅读 · 0 评论 -
Hdu 3367 Pseudoforest(并查集)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3367思路:类似最大生成树,先将边按照从大到小排序。合并时,若两点不连通:若x和y都在环中,则合并后环数大于1,不合题意。若x或y在环中,则合并,并将x和y同时标记在环中。若两点连通:x或y在环中合并后环数均大于一,不合题意。若都不在,则合并,构成一个新环,并将x和y同时标记为在环中。#in原创 2016-07-30 19:53:52 · 657 阅读 · 0 评论 -
Hdu 1558 Segment set(并查集+几何)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1558思路:判断线段相交(注意端点相交),若相交并入同一集合。#include#include#include#include#include#include#define debuusing namespace std;const double eps=1e-10;const原创 2017-02-04 15:30:17 · 369 阅读 · 0 评论 -
Poj 3657 Haybale Guessing(二分+并查集)
题目地址:http://poj.org/problem?id=3657思路:由于每个位置的数唯一,对于两个区间[l,r]最小值为a、[L,R]最小值为A。若区间[l,r]被区间[L,R]完全包含且a<A,此时存在矛盾且为唯一的矛盾。则可以二分询问Q,判断1---tot内的询问是否合法。每次二分时,将1---tot之间的询问按照最小值从大到小排序(优先处理大数,以后判断时仅需判断小数所在的区间是原创 2017-03-03 16:57:01 · 898 阅读 · 0 评论 -
Ural 1003 Parity(并查集)
题目地址:http://acm.timus.ru/problem.aspx?space=1&num=1003思路:一、1.区间和可表示为两前缀和相减:sum[R]-sum[L-1]。若区间[L,R]和为奇数,则连边(L-1)-->R,权值为1,否则权值为0。则由a->b和b->c可推出a->c的奇偶性。2.使用并查集维护信息,设w[i]为i到其根结点的距离。则判断时只需判断(w[L原创 2017-10-10 21:32:04 · 576 阅读 · 0 评论 -
Hdu 1512 Monkey King(左偏树+并查集)
题目地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1512思路:使用左偏树快速合并两堆。#include#include#include#includeusing namespace std;const int maxn=100000+50;struct Node{ int val,lson,rson,d原创 2017-10-13 17:27:45 · 527 阅读 · 0 评论 -
UvaLive 5031 Graph and Queries(Treap+并查集)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3032思路:1.三种操作#include#include#include#include#include#include#define debugusi原创 2017-10-23 17:35:57 · 617 阅读 · 0 评论