动规(20)-并查集基础题——打击犯罪
【问题描述】
某个地区有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)-并查集基础题——打击犯罪相关推荐
- 动规(16)-并查集基础题——格子游戏
[问题描述] Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3) 接着,他们两个轮流在相邻的点之间画上红边和蓝边: 直到围成一个封闭的圈(面积不必为1)为止," ...
- 动规(19)-并查集基础题——城镇道路
Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接 ...
- 【HDU1325】Is It A Tree?(并查集基础题)
有以下坑点: 1.结束输入不一定-1,题目中的叙述只是说所有权值都为正值. 2.是否构成一棵树不能只判断是否只有一个根节点,没有环路,而且还需要判断每个节点的入度一定是1,不然就不是一棵树. (无环路 ...
- PAT题解-1118. Birds in Forest (25)-(并查集模板题)
如题... #include <iostream> #include <cstdio> #include <algorithm> #include <stri ...
- 【SCAU 新生赛】18247 aler的旅游计划 并查集模板题
18247 aler的旅游计划 该题有题解 时间限制:1000MS 代码长度限制:10KB 提交次数:15 通过次数:0 收入:10 题型: 编程题 语言: 不限定 Description aler想 ...
- 战争来临(并查集模板题)
战争来临(并查集模板题) 描述 那一个骑单车卖报纸的少年 恐慌的眼泪慢慢布满了侧脸----<战争世界> B国对A国发动了侵略战争,A国不得不全力抵御.A国幅员辽阔,后方群众的支援补 ...
- 并查集模板题(stl 中map的运用)
DongDong认亲戚 DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程的 ...
- 【转】并查集MST题集
转自:http://blog.csdn.net/shahdza/article/details/7779230 [HDU] 1213 How Many Tables 基础并查集★ 1272 小希的迷宫 ...
- 中南大学2019年ACM寒假集训前期训练题集(基础题)
先写一部分,持续到更新完. A: 寒衣调 Description 男从戎,女守家.一夜,狼烟四起,男战死沙场.从此一道黄泉,两地离别.最后,女终于在等待中老去逝去.逝去的最后是换尽一生等到的相逢和团圆 ...
最新文章
- jQuery.validate使用必备
- XX System Test Plan
- How to check if one event is cancel event - #Exit#
- 上传html 0字节,HTML ajax 上传文件限制文件的类型和文件大小
- GBK、GB2312、GB18030
- Erlang注册进程名称-tut16.erl
- 中科院遥感与数字地球研究所博士后招聘
- ajax请求头cookies中传递sid,跨域请求单点登录,登录成功,但是在controller中获取的cookie与浏览器中不一致,请大神指点一二。^_^...
- 关于球谐函数一些初步的理解
- mysql 层_mysql各个层面优化
- 开源组件XStream 修复11个漏洞并公开 PoC
- php ini set开启方法,php ini_set更改php.ini配置功能_PHP教程
- 深入分析java线程池的理解
- android 平板root,安卓平板电脑怎么root 安卓平板一键root方法_硬件教程
- STM32开发工具-keil5安装
- (droid分享)新浪微博开发系列【十一】之查看微博正文
- 计算机控制系统烤箱温度控制,图说恒温烘箱温度控制系统的设计分析
- AQS与CLH相关论文学习系列(四)- AQS的设计思路
- Unity动画☀️六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)
- java的(String)字符串方法
热门文章
- 匈牙利算法(The Hungarian algorithm) :一个通俗易懂的例子
- nosql之mongodb的数据库操作+集合的插入和更新操作
- 每天一个Linux命令(1):xargs
- Delphi2010强化的反射(续)
- LabVIEW生成.NET的DLL——C#下调用NI数据采集设备功能的一种方法 [原创www.cnblogs.com/helesheng]
- 智能合约:BUMO 合约编辑器用户手册
- 【DockerCE】Docker-CE 20.10.23正式版发布
- 【音乐合成】基于FPGA的音乐合成系统verilog实现
- phpstudy和宝塔-测试本地网页
- python读取rtf文件_【Python】【IO】文件读写