HDU 2473 Junk-Mail Filter (删点并查集)
来源:互联网 发布:电脑网络查询 编辑:程序博客网 时间:2024/06/07 07:13
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2473
题意:给n个点,m个操作,操作分两种,可以把两点合在同一集合或者把某点从原集合分离出去
思路:并查集要增添一个“删除”功能,即保持原树的形态不变,新建一个节点,把要删除的点的信息映射到该点上,之后对此点操作即可
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>#include <queue>#include <vector>#include <utility>#include <functional>#include <string>#include <set>using namespace std;const int maxn = 2000010;const int mod = 1e9 + 7;const int inf = 0x3f3f3f3f;int fa[maxn], id[maxn];void init(int n){ for (int i = 0; i < n; i++) fa[i] = id[i] = i;}int find(int x){ return x == fa[x] ? x : fa[x] = find(fa[x]);}void unite(int x, int y){ x = find(x), y = find(y); if (x != y) fa[x] = y;}int main(){ int n, m, ca = 1; while (~scanf("%d%d", &n, &m) && (n + m)) { init(n); int cnt = n; while (m--) { char c; scanf(" %c", &c); if (c == 'M') { int x, y; scanf("%d%d", &x, &y); unite(id[x], id[y]); } else { int x; scanf("%d", &x); id[x] = cnt; fa[cnt] = cnt; cnt++; } } set <int> s; for (int i = 0; i < n; i++) s.insert(find(id[i])); printf("Case #%d: %d\n", ca++, s.size()); } return 0;}
0 0
- HDU 2473 Junk-Mail Filter 删点并查集
- HDU 2473 Junk-Mail Filter 删点并查集
- HDU 2473Junk-Mail Filter 【并查集,删点】
- HDU 2473 Junk-Mail Filter 并查集 删点
- hdu 2473 Junk-Mail Filter 并查集 删除点
- HDU 2473 Junk-Mail Filter (删点并查集)
- hdu2473 Junk-Mail Filter(删点并查集)
- HDOJ 题目2473 Junk-Mail Filter(并查集,删点)
- hdoj Junk-Mail Filter 2473 (并查集的删点) 好题
- Junk-Mail Filter(hdu2473并查集+删点操作)
- HDU 2473 Junk-Mail Filter 并查集拆分
- HDU-2473 Junk-Mail Filter 并查集的删除
- Hdu 2473 Junk-Mail Filter (并查集的删除)
- hdu 2473 Junk-Mail Filter(并查集)
- hdu 2473 Junk-Mail Filter 并查集删除
- hdu 2473 Junk-Mail Filter 并查集
- hdu 2473 Junk-Mail Filter (并查集的删除)
- 并查集 Junk-Mail Filter hdu 2473
- Java就业指导
- Python笔记:常用模块(os/sys/platform)
- linux下LCD驱动的分析
- android项目文件简介 及JSON文件解析
- 单例模式
- HDU 2473 Junk-Mail Filter (删点并查集)
- ActiveMQ入门实例
- Codeforces 385C Bear and Prime Numbers [素数筛法]
- weka manual 3.6 翻译:1.1 引言
- 【C#学习】C# 中 string 转 int
- 连接access2010数据库的方法
- Java Study
- 部署storm-0.9.4启动时报错
- UIButton图片Lable共存方法