luoguP1525 关押罪犯 题解(NOIP2010)(并查集反集)
- #include<iostream>
- #include<cstdlib>
- #include<cstdio>
- #include<cmath>
- #include<cstring>
- #include<iomanip>
- #include<algorithm>
- #include<queue>
- #include<ctime>
- #define ll long long
- #define rg register
- #define M 100050
- #define N 20050
- using namespace std;
- int n,m;
- struct war{
- int l,r,v;
- }ljl[M];
- int fa[N<<];
- inline int read()
- {
- int s=,m=;char ch=getchar();
- while(ch!='-'&&(ch<''||ch>''))ch=getchar();
- if(ch=='-')m=-,ch=getchar();
- while(ch>=''&&ch<='')s=(s<<)+(s<<)+ch-'',ch=getchar();
- return s*m;
- }
- inline bool cmp(const war &a,const war &b)
- {
- return a.v>b.v;
- }
- int find_fa(int kk)
- {
- if(fa[kk]==kk)return kk;
- else
- {
- fa[kk]=find_fa(fa[kk]);
- return fa[kk];
- }
- }
- void add(int k1,int k2)
- {
- int fa1=find_fa(k1);
- int fa2=find_fa(k2);
- fa[fa1]=fa2;
- }
- int main()
- {
- n=read();m=read();
- for(int i=;i<=m;++i)
- {
- ljl[i].l=read();ljl[i].r=read();ljl[i].v=read();
- }
- sort(ljl+,ljl+m+,cmp);
- for(int i=;i<=n<<;++i)
- {
- fa[i]=i;
- }
- for(int i=;i<=m;++i)
- {
- int f1=find_fa(ljl[i].l);
- int f2=find_fa(ljl[i].r);
- if(f1==f2)
- {
- printf("%d\n",ljl[i].v);
- exit();
- }
- else
- {
- add(ljl[i].l,ljl[i].r+n);
- add(ljl[i].r,ljl[i].l+n);
- }
- }
- puts("");
- return ;
- }
luoguP1525 关押罪犯 题解(NOIP2010)(并查集反集)的更多相关文章
- 洛谷 P1525 【关押罪犯】种类并查集
题解 P1525 [关押罪犯]:种类并查集 前言: 在数据结构并查集中,种类并查集属于扩展域并查集一类. 比较典型的题目就是:食物链(比本题难一些,有三个种类存在) 首先讲一下本题的贪心,这个是必须要 ...
- tyvj P1403 关押罪犯 题解
P1403 [NOIP2010]关押罪犯 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他 ...
- 洛谷 P1525 关押罪犯 (贪心,扩展域并查集)
题意:有\(n\)个罪犯,\(m\)对罪犯之间有仇,现在将这些罪犯分到两个监狱里去,问两个监狱里有仇罪犯之间的最大权值最小为多少. 题解:先按边权从大到小排序,然后贪心,边权大的两个罪犯,我们一定要先 ...
- NOIp 2010/Luogu P1525 关押罪犯 【二分图/并查集】 By cellur925
题目传送门 感想:相信自己的想法!继续挖掘! 读完题目后:看到的最大值最小?二分答案啊!再仔细一看:wi达到了1e9,二分可能费点劲.(其实真的是可以的)而且check函数貌似并没有什么行之有效的写法 ...
- 2010提高组-C]关押罪犯(扩展域并查集
题:https://www.cometoj.com/problem/0073 #include<bits/stdc++.h> using namespace std; ; struct n ...
- 关押罪犯(noip2010)
解法: (1)搜索(30分) (2)二分(此题属于最大值最小问题) (3)贪心+并查集 下面着重说一下“贪心+并查集” 因为有A.B两座监狱,每个犯人不是在A,就是在B监狱. 至于每个犯人在那个监狱, ...
- P1525 关押罪犯 题解
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; //带边权 ...
- Luogu 1525 【NOIP2010】关押罪犯 (贪心,并查集)
Luogu 1525 [NOIP2010]关押罪犯 (贪心,并查集) Description S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨 ...
- 洛谷1525 关押罪犯NOIP2010 并查集
问题描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值)来表示某两 ...
随机推荐
- asp.net 连续打印多份HTML页面,出现漏字
在IE8上打印的内容用了CSS 样式,连续打印多份导致的 可以通过改变CSS样式或更换浏览器解决
- JavaScript中的方法和属性
书读百遍其义自见 学习<JavaScript设计模式>一书时,前两个章节中的讲解的JavaScript基础知识,让我对属性和方法有了清晰的认识.如下是我的心得体会以及部分摘录的代码. 不同 ...
- elasticsearch 深入 —— 相关度控制
控制相关度 处理结构化数据(比如:时间.数字.字符串.枚举)的数据库, 只需检查文档(或关系数据库里的行)是否与查询匹配. 布尔的是/非匹配是全文搜索的基础,但不止如此,我们还要知道每个文档与查询的相 ...
- 2018-8-10-如何使用-Q#
title author date CreateTime categories 如何使用 Q# lindexi 2018-08-10 19:16:51 +0800 2018-2-13 17:23:3 ...
- Centos上Docker的安装及加速
#环境 :内核的版本必须大于3.10 #安装docker yum install epel-release -y yum install docker-ce ##安装docker-ce #配置文件 d ...
- centos7系统之telnet命令rpm包安装
centos7系统之telnet命令rpm包安装 1. 下载安装包 rpm包下载位置:http://vault.centos.org/6.3/os/x86_64/Packages/ [root@ywb ...
- demo board boot mode
demo扩展板 QSPI0_IO0_MIO2--A13--PS-MIO2 QSPI0_IO0_MIO3--A14--PS-MIO3 QSPI0_IO0_MIO4--B11--PS-MIO4 QSPI0 ...
- HTML5 canvas绘制图形
demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- jmeter 参数化5_Count 计数器
如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器来实现. 计数器(counter):允许用户创建一个在线程组之内都可以被引用的计数器. 计数器允许用户配置一个起点,一个最大值, ...
- bzoj4244 & loj2878. 「JOISC 2014 Day2」邮戳拉力赛 括号序列+背包
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4244 https://loj.ac/problem/2878 题解 挺妙的一道题. 一开始一直 ...