并查集
文章平均质量分 72
404-unkown
这个作者很懒,什么都没留下…
展开
-
POJ2236--Wireless Network
题目大意:ACM公司,有n台电脑损坏了,现在可以进行两种操作,O表示修复一台电脑,S表示查询这两台电脑之间是否可以相连通,相连通的条件有两个,满足一个即可,一、这两台电脑之间距离小于等于d,二、这两台电脑可以通过其他电脑相互达到。 分析:用并查集维护可以联通的电脑,当修好一台电脑后,遍历一遍已修好的电脑,如果距离小于等于d,就加入并查集中。这样查询的时候,只要判断两台电脑是否在一个并查集即原创 2015-08-23 19:11:13 · 259 阅读 · 0 评论 -
POJ1703--Find them, Catch them
题目大意:有N个罪犯,分属于两个团伙。有两种操作,一、D表示两个罪犯不在同一个团伙,二、A表示判断两个罪犯是否属于同一个团伙。操作m次 分析:对每个罪犯创建2个元素,i-x,i-y,都用并查集维护。i-x表示i属于x类。查询的时候判断i-x与j-x,i-x与j-y的关系即可。合并的时候,合并i-x与j-y,j-x与i-y。代码:#include #include #in原创 2015-08-23 19:14:26 · 277 阅读 · 0 评论 -
POJ1182--食物链
题目大意:中文题... 分析:对每个动物创建2个元素,i-x,i-y,i-z都用并查集维护。i-x表示i属于x类。代码:#include #include using namespace std;const int maxn = 55555;int n, k;int fa[3*maxn+10];int ans;int Find(int x) { r原创 2015-08-23 19:16:06 · 320 阅读 · 0 评论