AcWing 257. 关押罪犯
https://www.acwing.com/problem/content/description/259/
闫总的思路很好,把它放在一个二分图当中,二分解决,也就是说,把大于limit的放到二分图左右两部分的中间,观察是否能形成二分图,如果可以形成,说明limit 是可以成立的,二分图的证明方法是染色法时间复杂度是o(N)级别的,非常的不错哈,然后对其进行二分,我觉得y总一说思路,再学一下基础算法,这道题还是很简单的。然后代码如下。
#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;const int N=2e4+10,M=1e5+10;int h[N],ne[2*M],e[2*M],w[2*M],idx;
int n,m;
int color[N];void add(int a,int b,int c)
{e[idx]=b;w[idx]=c;ne[idx]=h[a];h[a]=idx++;
}bool dfs(int x,int c,int limit)
{color[x]=c;for(int i=h[x];i!=-1;i=ne[i]){if(w[i]<=limit)continue;int j=e[i];if(color[j]){if(color[j]==c)return false;}else if(!dfs(j,3-c,limit)) return false;}return true;
}bool check(int limit)
{memset(color,0,sizeof color);for(int i=1;i<=n;i++){if(!color[i]){if(!dfs(i,1,limit))return false;}}return true;
}int main(void)
{scanf("%d%d",&n,&m);memset(h,-1,sizeof h);while(m--){int a,b,c;scanf("%d%d%d",&a,&b,&c);add(a,b,c);add(b,a,c);}int l=0,r=1e9;while(l<r){int mid=l+r>>1;if(check(mid)) r=mid;else l=mid+1;}cout<<l;
}
AcWing 257. 关押罪犯相关推荐
- 关押罪犯-并查集、贪心
题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯 思路来源:这里 题目描述 S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N. 他 ...
- 专题突破三之并查集Ⅱ——星球大战,In Touch,方格染色,Junk-Mail Filter,关押罪犯,Silver Woods,Must Be Rectangular!
文章目录 [JSOI2008]星球大战 In Touch 方格染色 Junk-Mail Filter [NOIP2010 提高组] 关押罪犯 Silver Woods Must Be Rectangu ...
- 洛谷P1525 关押罪犯
P1525 关押罪犯 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用" ...
- [NOIP2010提高组]关押罪犯
题目:洛谷P1525.Vijos P1776.codevs1069. 题目大意:有一些罪犯,两个罪犯之间可能会发生冲突,冲突有个影响力,而如果两个罪犯在不同监狱里,就可以避免冲突.现在有两个监狱,要你 ...
- 并查集的补集 (关押罪犯)
定义元素T的逆为t,t一定不在包含T的集合里 因为对于两个需要分配在不同集合的元素A.B,我们并不知道具体该怎么分,所以就令元素A和b在一起,元素B和a在一起. 避免了直接分配A,B到哪一个集合的问题 ...
- [NOIP2010]关押罪犯
题目描述 Description S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用&quo ...
- #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯
洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...
- 关押罪犯 并查集~~~
关押罪犯 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨 气值"(一 ...
- NOIP2010关押罪犯题解(洛谷P1525) (并查集)
NOIP2010关押罪犯题解(洛谷P1525) (并查集) 日常膜拜dalao:财神万岁!!!!!!!!!!!!!!!!!!!!! 日常凌晨三点水题解..(原谅我中间断更了几天,,马上分班考试了竞赛顾 ...
最新文章
- 【转】Failed to load module for FS type ‘bdb’ in TortoiseSVN 1.6.x
- 实验6 在应用程序中播放音频和视频
- servlet+javabean+service+dao完成注册登录
- 基于语音识别的微博签到系统
- python3字典平均值_python3基础之字典
- 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
- gradle跟pom_Gradle多项目构建–父pom式结构
- r语言 xmlto html,使用R语言将XML转换为CSV(示例代码)
- 疫情下的十大堵城:复工后整体拥堵下降37.3%
- Leetcode 22. 括号生成(递归+去重)
- 微信小程序MINA框架学习(零)
- 还能这样玩——关于一些OI的黑(sao)科(cao)技(zuo)优化
- 真正决定人生高度的,是你做事的速度
- 手披云雾开鸿蒙,赞美泰山的诗句
- Access Violation(非法访问)解析
- cdn perl_用perl对CDN节点日志进行统计
- java面试所问到的问题和资料整理
- 编写程序,根据输入的n,输出如下例所示的图形。
- 产品定位的步骤,如何探寻市场机会、挖掘市场细分并选择目标市场
- 【MATLAB】输入命令(matlab实用小技巧)
热门文章
- Okhttp上传文件
- 【JS】JavaScript正则表达式基础
- 霸三国ol服务器维护,霸三国OL开发者爆料第二弹 技能组合多样化
- 为什么谐振时电抗为0_电抗器相关知识,你了解了吗?
- 如何高效地准备技术面试?
- linux 卸载 bison,linux-无法编译Bison示例代码
- Windows 10 MSDN官方原版ISO镜像(简体中文)下载
- php工程师会掉头发吗,它是掉头发的“凶手”,吃的越多头发掉的越厉害!千万要注意...
- 使用 Vue 生成 Excel 任务窗格加载项
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于的牧场管理系统6ui1j