并查集
你的目光看海
这个作者很懒,什么都没留下…
展开
-
poj 1182
链接:http://poj.org/problem?id=1182 通过这道题让我了解了并查集+偏移量的应用,原来并查集的集合中的各个元素不必是具有想同属性的,二十只要元素之间存在某种关系就可以。 这道题多了个偏移量的感念,我们用vis[i] 储存 i 节点与他的父节点的关系。 可以把它看作一个向量 vis[i] = i -> f[i]。 我规定i 与 vis[i] 相等时 vis[i] = 0原创 2016-08-23 20:43:46 · 206 阅读 · 0 评论 -
对并查集的一点点想法..
最近我遇到了这样一个问题: 有n个黑社会的分别属于两个不同的帮派,狗狗帮和猪猪帮。 你将得到m条信息: (1) D a b 表示小a和小b不在一个帮派。 (2) A a b 询问小a和小b是否在一个帮派 。样例输入: 1 5 5 A 1 2 D 1 2 A 1 2 D 2 4 A 1 4 样例输出: 不确定是否在一个帮派。 在不同的帮派。 在一个帮派。 题意分析原创 2016-08-22 01:12:58 · 289 阅读 · 0 评论 -
poj 1703
链接:http://poj.org/problem?id=1703一道简单的并查集+偏移量的题,我规定 visa[i] = i->f[i] , vis[i] == 1 时,i 和 f[i] 不在同一阵营,否则在同一阵营。#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cst原创 2016-08-23 23:45:14 · 282 阅读 · 0 评论 -
codeforces 744A
链接: http://codeforces.com/problemset/problem/744/A题意: 现在有 n 个点 ,m 条边组成了一个无向图 , 其中有 k 个特殊点, 这些点之间不能相连 ,问我可以再多加几条边? 分析: 设 连通子块的点有n个 , 那么将会有 n(n-1)/2 条边 , 所以尽量将点都加入到一个点最多的连通子块中(注意特殊点不能相连)。#include <io原创 2016-12-18 23:20:35 · 934 阅读 · 0 评论 -
玲珑学院oj Round#7
链接:http://www.ifrog.cc/acm/problem/1072?contest=1009&no=1题意: 有节点1 , n个操作。每个操作可以选择 +V(将当前节点加到V), -V(V节点独立出来)。每次输出在每次操作后到首都1距离最远的城市编号,多个距离相同输出编号最小的城市输入数据保证正确,每次添加与删除的城市一定是与首都相连的。 分析: 使用并查集+优先队列就可以很好的解决这原创 2016-12-28 10:54:43 · 324 阅读 · 0 评论