
并查集
文章平均质量分 70
NowAndForever
这个作者很懒,什么都没留下…
展开
-
hdu-3635 Dragon Balls
http://acm.hdu.edu.cn/showproblem.php?pid=3635题意:n个城市有n颗龙珠,开始时第i颗龙珠在第i个城市,经过一段时间,一些城市的龙珠会转移到其他城市,T A B表示A所在的城市的龙珠都转移到B城市,每次询问 Q A:输出 A龙珠在哪个城市 所在的城市有多少颗龙珠 A龙珠转移的次数。 思路:A在哪个城市 就算查找A的祖先 即 fi原创 2014-08-22 20:08:43 · 516 阅读 · 0 评论 -
hdu-1811 Rank of Tetris
http://acm.hdu.edu.cn/showproblem.php?pid=1811题意很简单,关键在于处理‘=’的 情况,如果两个人的rating相等的话,其实可以看成一个人,那么这就用到了并查集来合并。然后信息不完全或者冲突的情况可以做一遍拓扑排序的过程,初始sum=n,然后如果排序完了还是sum>0 就表示构成了环,所以导致冲突。用一个标志位表示如果队列的size>1 那原创 2014-08-28 20:32:10 · 544 阅读 · 0 评论 -
并查集及其应用
转载:http://chensmiles.blog.163.com/blog/static/12146399120097121111256/转载 2014-08-15 10:26:41 · 460 阅读 · 0 评论 -
并查集(Union-Find) 应用举例 --- 基础篇
http://blog.youkuaiyun.com/dm_vincent/article/details/7769159转载 2014-08-15 10:19:46 · 485 阅读 · 0 评论 -
并查集(Union-Find)算法介绍
http://blog.youkuaiyun.com/dm_vincent/article/details/7655764转载 2014-08-15 10:15:02 · 508 阅读 · 0 评论 -
hdu-1325 Is It A Tree?
http://acm.hdu.edu.cn/showproblem.php?pid=1325跟小希的迷宫那一题题意差不多,只不过那个是无向图,这个是有向图。那么区别在于这个题在输入边的时候不能指向自身,并且有父亲就不可以接另外的父亲了。其他的都是一样。#include#include#define N 100001int father[N],mark[N],flag,edges;原创 2014-08-23 20:53:49 · 890 阅读 · 1 评论 -
hdu-1272 小希的迷宫
http://acm.hdu.edu.cn/showproblem.php?pid=1272判断一张图是否是一颗树的两个关键点:不存在环路(对于有向图,不存在环路也就意味着不存在强连通子图)满足边数加一等于顶点数的规律(不考虑重边和指向自身的边)第一条,在并查集中应该如何实现呢?现在我们对并查集也有一定的认识了,其实很容易我们就能够想出,当两个顶点的根节点相同时,就代表添加了这原创 2014-08-23 18:51:05 · 467 阅读 · 0 评论 -
poj 2524 Ubiquitous Religions
http://poj.org/problem?id=2524跟hdu-1213 一样,首先有n个人,然后有m个关系,问属于不同关系的人有多少个。#includeint id[50001],sz[50001],n,m;int find(int p){ while(p!=id[p]) { // 路径压缩,会破坏掉当前节点的父节点的尺寸信息,因为压缩后,当前节点的父节原创 2014-08-24 11:56:18 · 567 阅读 · 0 评论 -
poj -1611 The Suspects
http://poj.org/problem?id=1611题意是说为了控制病毒,需要收集全部病人的信息,然后有n个人和m个组,初始0号人是病毒,满足一个组只要有一个人是病毒,那么这个组全部的人都认为有病毒。问最终感染病毒的人数。并查集来实现,只要输出0所在祖先节点的秩就行,秩保存的就是该节点所有的儿子数。#include#define N 300001int father[N],原创 2014-08-24 11:27:52 · 457 阅读 · 0 评论 -
hdu-1856 More is better
http://acm.hdu.edu.cn/showproblem.php?pid=1856这道题目的目的是想知道经过一系列的合并操作之后,查询在所有的子树中,秩的最大值是多少,简而言之,就是最大的那颗子树包含了多少个节点。很显然,这个问题也能够同时使用两种优化策略,只不过因为要求最大秩的值,需要有一个变量来记录。那么在哪个地方来更新它是最好的呢?我们知道,在按秩进行合并的时候,需要比较两原创 2014-08-23 10:34:27 · 616 阅读 · 0 评论 -
hdu-1213 How Many Tables
http://acm.hdu.edu.cn/showproblem.php?pid=1213//基础原创 2014-08-21 22:57:32 · 433 阅读 · 0 评论 -
格子游戏
格子游戏Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 18 Accepted Submission(s) : 2Font: Times New Roman | Verdana | GeorgiaFont Size: ← →Pr原创 2014-08-22 18:55:21 · 1396 阅读 · 0 评论 -
亲戚
亲戚Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 28 Accepted Submission(s) : 5Font: Times New Roman | Verdana | GeorgiaFont Size: ← →Prob原创 2014-08-21 23:19:17 · 1062 阅读 · 0 评论 -
团伙-并查集
团伙 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 10 Accepted Submission(s) : 4Font: Times New Roman | Verdana | Georgia Font Size: ← →Problem原创 2014-08-28 20:10:47 · 1606 阅读 · 0 评论