并查集
JW_7066
这个作者很懒,什么都没留下…
展开
-
UVALive 4627 Islands(BFS+并查集)
题目链接:【UVALive 4627】 输入n*m的数字矩阵,矩阵上的数字表示的是水的深度,在第i年,水的深度应该是i,输入num个年份,输出每个年份里,水的深度高出的区块有几个 第二年,水的最高深度是2,超出的部分就是上述的阴影区域,是3块,输出3 先用优先队列,按水的深度排序,深度大的在前面,并查集是用来记录他们是不是属于同一个区块 #include #include #i原创 2016-01-27 10:31:30 · 430 阅读 · 0 评论 -
带权值的并查集
题目链接:【POJ 1182】 好题! 父节点跟子节点之间一共有三种关系,父节点吃子节点,子节点吃父节点,父节点跟子节点是同类,所以用三进制表示 fa[B]=A,rank[B]=0表示与父节点是同类,rank[B]=1表示被父节点吃,rank[B]=2表示吃父节点 一共分两大类进行操作:1、x跟y的父节点相同 2、x跟y的父节点不同 下面是我做题时画的图,方便理解,父节点跟子节点之间的原创 2016-03-08 21:04:30 · 2652 阅读 · 0 评论 -
codeforces 722C. Destroying Array(并查集||set)
C. Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given an array consisting of n n原创 2016-10-02 22:31:11 · 785 阅读 · 0 评论 -
并查集
【一次做cf,用递归版的超时了,非递归版的就ac了】 递归版 #include using namespace std; const int N=1e3; int fa[N]; int find(int x){ return fa[x]==x?x:find(fa[x]); } void Union(int x, int y){ int fx = fin原创 2016-10-16 21:51:51 · 441 阅读 · 0 评论