【问题描述】

 某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度唯一由集团内的犯罪团伙数量确定,而与单个犯罪团伙的危险程度无关(该犯罪集团的危险程度为n)。现在当地警方希望花尽量少的时间(即打击掉尽量少的团伙),使得庞大的犯罪集团分离成若干个较小的集团,并且他们中最大的一个的危险程度不超过n/2。为达到最好的效果,他们将按顺序打击掉编号1到k的犯罪团伙,请编程求出k的最小值。

【输入格式】black.in

  第一行一个正整数n。接下来的n行每行有若干个正整数,第一个整数表示该行除第一个外还有多少个整数,若第i行存在正整数k,表示i,k两个团伙可以直接联系。

【输出格式】black.out

一个正整数,为k的最小值

【样例输入】

7

2 2 5

3 1 3 4

2 2 4

2 2 3

3 1 6 7

2 5 7

2 5 6

【样例输出】

1

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n, maxt, i, j, r1, r2, q, f, t;
int head[1001], s[1001], father[1001];
struct node
{int data, nex;
} p[100000];
int find(int x)
{return father[x] == x ? x : father[x] = find(father[x]);
}
void lian(int x, int y)
{p[++q].nex = head[x];p[q].data = y;head[x] = q;
}
int main()
{cin >> n;maxt = n / 2;for (i = 1; i <= n; i++){cin >> t;for (j = 1; j <= t; j++){cin >> f, lian(i, f);}}for (i = 1; i <= n; i++){father[i] = i;s[i] = 1;}for (i = n; i >= 1; i--)for (j = head[i]; j; j = p[j].nex)if (p[j].data > i){r1 = find(i);r2 = find(p[j].data);if (r1 != r2) //必须判断,否则"加重 ”{father[r2] = r1;s[r1] = s[r1] + s[r2];}if (s[r1] > maxt){cout << i;return 0;}}return 0;
}

动规(20)-并查集基础题——打击犯罪相关推荐

  1. 动规(16)-并查集基础题——格子游戏

    [问题描述] Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3) 接着,他们两个轮流在相邻的点之间画上红边和蓝边: 直到围成一个封闭的圈(面积不必为1)为止," ...

  2. 动规(19)-并查集基础题——城镇道路

    Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接 ...

  3. 【HDU1325】Is It A Tree?(并查集基础题)

    有以下坑点: 1.结束输入不一定-1,题目中的叙述只是说所有权值都为正值. 2.是否构成一棵树不能只判断是否只有一个根节点,没有环路,而且还需要判断每个节点的入度一定是1,不然就不是一棵树. (无环路 ...

  4. PAT题解-1118. Birds in Forest (25)-(并查集模板题)

    如题... #include <iostream> #include <cstdio> #include <algorithm> #include <stri ...

  5. 【SCAU 新生赛】18247 aler的旅游计划 并查集模板题

    18247 aler的旅游计划 该题有题解 时间限制:1000MS 代码长度限制:10KB 提交次数:15 通过次数:0 收入:10 题型: 编程题 语言: 不限定 Description aler想 ...

  6. 战争来临(并查集模板题)

    战争来临(并查集模板题) 描述   那一个骑单车卖报纸的少年 恐慌的眼泪慢慢布满了侧脸----<战争世界>   B国对A国发动了侵略战争,A国不得不全力抵御.A国幅员辽阔,后方群众的支援补 ...

  7. 并查集模板题(stl 中map的运用)

    DongDong认亲戚 DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程的 ...

  8. 【转】并查集MST题集

    转自:http://blog.csdn.net/shahdza/article/details/7779230 [HDU] 1213 How Many Tables 基础并查集★ 1272 小希的迷宫 ...

  9. 中南大学2019年ACM寒假集训前期训练题集(基础题)

    先写一部分,持续到更新完. A: 寒衣调 Description 男从戎,女守家.一夜,狼烟四起,男战死沙场.从此一道黄泉,两地离别.最后,女终于在等待中老去逝去.逝去的最后是换尽一生等到的相逢和团圆 ...

最新文章

  1. jQuery.validate使用必备
  2. XX System Test Plan
  3. How to check if one event is cancel event - #Exit#
  4. 上传html 0字节,HTML ajax 上传文件限制文件的类型和文件大小
  5. GBK、GB2312、GB18030
  6. Erlang注册进程名称-tut16.erl
  7. 中科院遥感与数字地球研究所博士后招聘
  8. ajax请求头cookies中传递sid,跨域请求单点登录,登录成功,但是在controller中获取的cookie与浏览器中不一致,请大神指点一二。^_^...
  9. 关于球谐函数一些初步的理解
  10. mysql 层_mysql各个层面优化
  11. 开源组件XStream 修复11个漏洞并公开 PoC
  12. php ini set开启方法,php ini_set更改php.ini配置功能_PHP教程
  13. 深入分析java线程池的理解
  14. android 平板root,安卓平板电脑怎么root 安卓平板一键root方法_硬件教程
  15. STM32开发工具-keil5安装
  16. (droid分享)新浪微博开发系列【十一】之查看微博正文
  17. 计算机控制系统烤箱温度控制,图说恒温烘箱温度控制系统的设计分析
  18. AQS与CLH相关论文学习系列(四)- AQS的设计思路
  19. Unity动画☀️六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)
  20. java的(String)字符串方法

热门文章

  1. 匈牙利算法(The Hungarian algorithm) :一个通俗易懂的例子
  2. nosql之mongodb的数据库操作+集合的插入和更新操作
  3. 每天一个Linux命令(1):xargs
  4. Delphi2010强化的反射(续)
  5. LabVIEW生成.NET的DLL——C#下调用NI数据采集设备功能的一种方法 [原创www.cnblogs.com/helesheng]
  6. 智能合约:BUMO 合约编辑器用户手册
  7. 【DockerCE】Docker-CE 20.10.23正式版发布
  8. 【音乐合成】基于FPGA的音乐合成系统verilog实现
  9. phpstudy和宝塔-测试本地网页
  10. python读取rtf文件_【Python】【IO】文件读写