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. 关押罪犯相关推荐

  1. 关押罪犯-并查集、贪心

    题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯 思路来源:这里 题目描述 S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N. 他 ...

  2. 专题突破三之并查集Ⅱ——星球大战,In Touch,方格染色,Junk-Mail Filter,关押罪犯,Silver Woods,Must Be Rectangular!

    文章目录 [JSOI2008]星球大战 In Touch 方格染色 Junk-Mail Filter [NOIP2010 提高组] 关押罪犯 Silver Woods Must Be Rectangu ...

  3. 洛谷P1525 关押罪犯

    P1525 关押罪犯 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用" ...

  4. [NOIP2010提高组]关押罪犯

    题目:洛谷P1525.Vijos P1776.codevs1069. 题目大意:有一些罪犯,两个罪犯之间可能会发生冲突,冲突有个影响力,而如果两个罪犯在不同监狱里,就可以避免冲突.现在有两个监狱,要你 ...

  5. 并查集的补集 (关押罪犯)

    定义元素T的逆为t,t一定不在包含T的集合里 因为对于两个需要分配在不同集合的元素A.B,我们并不知道具体该怎么分,所以就令元素A和b在一起,元素B和a在一起. 避免了直接分配A,B到哪一个集合的问题 ...

  6. [NOIP2010]关押罪犯

    题目描述 Description S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用&quo ...

  7. #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯

    洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...

  8. 关押罪犯 并查集~~~

    关押罪犯 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨 气值"(一 ...

  9. NOIP2010关押罪犯题解(洛谷P1525) (并查集)

    NOIP2010关押罪犯题解(洛谷P1525) (并查集) 日常膜拜dalao:财神万岁!!!!!!!!!!!!!!!!!!!!! 日常凌晨三点水题解..(原谅我中间断更了几天,,马上分班考试了竞赛顾 ...

最新文章

  1. 【转】Failed to load module for FS type ‘bdb’ in TortoiseSVN 1.6.x
  2. 实验6 在应用程序中播放音频和视频
  3. servlet+javabean+service+dao完成注册登录
  4. 基于语音识别的微博签到系统
  5. python3字典平均值_python3基础之字典
  6. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
  7. gradle跟pom_Gradle多项目构建–父pom式结构
  8. r语言 xmlto html,使用R语言将XML转换为CSV(示例代码)
  9. 疫情下的十大堵城:复工后整体拥堵下降37.3%
  10. Leetcode 22. 括号生成(递归+去重)
  11. 微信小程序MINA框架学习(零)
  12. 还能这样玩——关于一些OI的黑(sao)科(cao)技(zuo)优化
  13. 真正决定人生高度的,是你做事的速度
  14. 手披云雾开鸿蒙,赞美泰山的诗句
  15. Access Violation(非法访问)解析
  16. cdn perl_用perl对CDN节点日志进行统计
  17. java面试所问到的问题和资料整理
  18. 编写程序,根据输入的n,输出如下例所示的图形。
  19. 产品定位的步骤,如何探寻市场机会、挖掘市场细分并选择目标市场
  20. 【MATLAB】输入命令(matlab实用小技巧)

热门文章

  1. Okhttp上传文件
  2. 【JS】JavaScript正则表达式基础
  3. 霸三国ol服务器维护,霸三国OL开发者爆料第二弹 技能组合多样化
  4. 为什么谐振时电抗为0_电抗器相关知识,你了解了吗?
  5. 如何高效地准备技术面试?
  6. linux 卸载 bison,linux-无法编译Bison示例代码
  7. Windows 10 MSDN官方原版ISO镜像(简体中文)下载
  8. php工程师会掉头发吗,它是掉头发的“凶手”,吃的越多头发掉的越厉害!千万要注意...
  9. 使用 Vue 生成 Excel 任务窗格加载项
  10. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于的牧场管理系统6ui1j