正题

题目链接:
http://poj.org/problem?id=1611


大意

有n个人,m个组,有一个流感嫌犯,流感嫌犯会将所在的组的所有人变成流感嫌犯,求流感嫌犯的数量。


解题思路

并查集将各个组合并,然后看看那些人是和嫌犯一个组的就好了。


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int lt[30001],x,k,n,m,s,head;
int father(int x)
{if (lt[x]!=x) lt[x]=father(lt[x]);return lt[x];
}//寻找祖先
void unionn(int x,int y)
{int fa=father(x);int fb=father(y);if (fa<fb) lt[fb]=fa;else lt[fa]=fb;//取最小的当祖先
}//链接两点
int main()
{while (true){scanf("%d%d",&n,&m);if (n==0) break;for (int i=0;i<n;i++) lt[i]=i;for (int i=1;i<=m;i++){scanf("%d",&k);if (k>=1) scanf("%d",&head);for (int j=2;j<=k;j++){scanf("%d",&x);unionn(x,head);//连接}}s=0;for (int i=0;i<n;i++) if (father(i)==0) s++;//统计数量printf("%d\n",s);}
}

POJ1611-嫌犯【图论,并查集】相关推荐

  1. 图论 + 并查集 ----最小生成树重构图 + 可撤销并查集 + set启发式合并 时间线上的离线求解 D. Graph and Queries

    解题思路 题目大意: 就是给你一个无向图,每个点都有一个权值,和qqq次询问 每次询问有两种操作 1 x:就询问从x点出发,能访问到的最大权值是多少,并把最大权值那个点的权值设置为0 2 x:就是删除 ...

  2. 牛客小白月赛25 C-白魔法师 ( 图论 + 并查集 )

    题目链接 解题报告: 思路:如果将一个黑色点染成白色,那么将得到一个白色连通块,这个连通块由和这个黑色点连结的所有白色连通块组成. 如果将一个白色点染成白色,那么不会有任何变化. 所以我们可以先并查集 ...

  3. 证明kruskal算法求解图的最小生成树具有贪心选择性质_将并查集应用在图论中的最小生成树算法——Kruskal...

    点击上方蓝字,和我一起学技术. 今天是算法和数据结构专题的第19篇文章,我们一起来看看最小生成树. 我们先不讲算法的原理,也不讲一些七七八八的概念,因为对于初学者来说,看到这些术语和概念往往会很头疼. ...

  4. bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集

    bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集 1.这道题我们主要就是要求出距离一个油站的最近的油站 首先我们dijkstra 求出任意一个点到 离他最近的油站的距离 2. ...

  5. 并查集入门三连:HDU1213 POJ1611 POJ2236

    HDU1213 http://acm.hdu.edu.cn/showproblem.php?pid=1213 问题描述 今天是伊格纳修斯的生日.他邀请了很多朋友.现在是晚餐时间.伊格纳修斯想知道他至少 ...

  6. 图论:并查集求最小环

    图论:并查集求最小环 概念: 图.路.环: 一个有向图由G=(N,A)表示,其中N表示节点集,A表示边集边(i,j)为一有序对,i为出发节点,j为终止节点.在无向图中(i,j)与(j,i)一致. 路是 ...

  7. 图论8 并查集深入解析——边带权并查集和拓展域并查集和最小生成树

    我们先复习一下并查集的基本知识. 并查集的三个操作:查询,初始化,合并:并查集的结构:操作方法以及代码:路径压缩优化(详见<图论7 弗洛伊德&并查集算法详解>). 补充一下,并查集 ...

  8. 「图论」第1章 并查集课堂过关

    文章目录 A. [例题1][模板]并查集 题目 代码 B. [例题2]程序自动分析 题目 代码 C. [例题3]银河英雄传说 题目 题目背景 题目描述 输入格式 输出格式 输入输出样例 说明/提示 思 ...

  9. 图论500题 ---- 并查集求路径上最大值最小不超过K的点对数 HDU Portal

    题目链接 题目大意: 就给你一个图,qqq次询问,问你这个图上有多少对点之间的所以路径上的最大值的最小值不超过kkk? 解题思路: 首先我们知道这本质上就是求两个点联通的路径上的最大值最小是多少? 那 ...

最新文章

  1. 【SpringBoot专题】监控健康状况
  2. TOJ 4393 Game
  3. mysql 日志 超过 m,linux 下查找大日志文件,比如大于500M的文件
  4. Java 基础 之 标识符
  5. filesystemwatch java_C#方法的委托和java中的回调
  6. 精述IBM的MQTT协议和MQTT-S协议
  7. 几种SQL取日期部分的方法
  8. 调用sap函数接口_部署在SAP云平台CloudFoundry环境的应用如何消费SAP Leonardo机器学习API...
  9. 《FLUENT 14.0超级学习手册》——3.2 Gambit的应用
  10. 用matlab解系统框图,控制系统框图(请教matlab中怎么画控制系统流程框图?)
  11. 创新、协调、绿色、开放、共享”五大发展理念整体上是一个彼此之间有联系、成结构的体系,是统一的,而从个体上来说,他们之间是相互促进、相互依赖、相互作用、相互对立的,这恰恰体现出辩证法物质世界的普遍联系和
  12. 学习javascript这一篇就够了超详细笔记(建议收藏)上
  13. Windows平台上一些开发软件的卸载与安装@大蟒蛇马戏团
  14. win10任务栏显示“中/英“语言标识
  15. java nas 存储_虚拟机NAS存储的安装
  16. 计算机作业我家乡的变化,家乡的变化
  17. 大转折时代——生活与思维方式的大转折
  18. C# 之 Ocelot 使用
  19. Server2008 R2上安装 .NetFramework 4.7失败
  20. MySql字段名为关键字,怎么办?

热门文章

  1. mysql binlog oplog_mongodb 学习之oplog
  2. c语言判断x的个位数是否为5,用C语言编程从键盘输入一个正整数,判断其个位数是否为5,若是5则输出“yes”,否则输出“no”...
  3. linux编程两个子进程,Linux中fork同时创建多个子进程的方法
  4. 计算机显卡是指什么时候,电脑哪个是显卡
  5. android dialog 自定义布局,如何设置AlertDialog的自定义布局?
  6. xcode 修改 infodictionary_安卓系统修改复位键生效时间
  7. 算法设计与分析——动态规划——01背包问题
  8. leetcoed123. 买卖股票的最佳时机 III
  9. leetcode双指针合集
  10. 链表基础概念与经典题目(Leetcode题解-Python语言)