当前位置: 首页 > news >正文

P1525 [NOIP 2010 提高组] 关押罪犯

P1525 [NOIP 2010 提高组] 关押罪犯

大意

给定若干对关系,让将这些人分入两个集合中,在同一集合中的两个有关系的人会贡献出来其边权,让求 \(\min(\max(s1, s2))\)

思路

考虑二分图染色 + 二分。

很经典的话语:“最大值最小”,因此我们可以考虑二分答案,然后我们想想,二分完答案 \(k\) 之后怎么做?

显然对于哪些关系值小于等于 \(k\) 的我们是不是不需要考虑,只需要让关系值大于 \(k\) 的那些罪犯不在一个监狱中。

对于这个问题,差不多算 \(0 / 1\) 染色,只需要二分图染色,因为只有两个监狱,如果能染成功,就说明答案有可能小于等于 \(k\),否则说明答案大于 \(k\)

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 20010;
struct node {int v, w;
};
vector<node> g[N];
int color[N], n, m;
bool dfs(int u, int k) {bool ok = true;for (int i = 0; i < g[u].size(); i++) {int v = g[u][i].v, w = g[u][i].w;if(w <= k) continue;if(color[v] == -1){color[v] = 1 - color[u];ok &= dfs(v, k);}else if(color[v] == color[u]){ok &= false;}}return ok;
}
bool check(int k) {memset(color, -1, sizeof(color));bool ok = true;for (int i = 1; i <= n; i++) {if (color[i] == -1) {color[i] = 0;ok &= dfs(i, k);}}return ok;
}
int main() {cin >> n >> m;for (int i = 0; i < m; i++) {int u, v, w;cin >> u >> v >> w;g[u].push_back({v, w});g[v].push_back({u, w});}int l = 0, r = 1000000001;while (l < r) {int mid = (l + r) >> 1;if (check(mid)) {r = mid;} else {l = mid + 1;}}cout << r;return 0;
}
http://www.jsqmd.com/news/111369/

相关文章:

  • 51单片机温度报警器:从C程序到Proteus仿真全记录
  • 集之互动AI创意视频解决方案:商业级可控,让品牌创意从“灵感”直达“落地”
  • 深入解析:【号码分离】从Excel表格、文本、word文档混乱文字中提取分离11位手机号出来,基于WPF的实现方案
  • Android开机性能分析工具bootchart详细使用
  • Test-2025
  • 9个高效降AI率工具,本科生必看!
  • 10个高效降AI率工具,自考学生必备!
  • 【2025实测】12款主流降ai率工具大汇总,论文降aigc一篇搞定(含免费降ai率工具) - 晨晨_分享AI
  • CentOS 7.9 在 VMware 17.5.0 上的完整安装教程
  • 计算机专业自学指南:从大一到大四,步步为营!从零基础到精通,收藏这篇就够了!
  • 从零开始的云原生之旅(十八):部署热更新——无需重启服务的幕后
  • 非专业也能看懂的AI大模型工作原理!(非常详细)从零基础到精通,一篇就够了!
  • 空间转录组上游(Space Ranger)
  • 详细揭秘如何使用 对哦 原理
  • vulkan中的SSBO
  • 非期望超效率SBM模型:Matlab实现与探讨
  • 告别频繁校准,效率成本双拿捏!这款MEMS寻北仪刷新行业新体验
  • AI元人文构想:从价值对齐到意义生成的哲学范式革命
  • Java设计模式系列 - 基本概念
  • 2025 年终总结
  • 【linux内核】cephfs内核客户端回写
  • 揭秘!光模块“零故障”的秘密:无尘车间里的匠心
  • 探索12bit 100M两级PipeSAR ADC设计之路
  • 自动驾驶之路径跟踪:Carsim/Simulink 联合仿真与运动学 MPC 算法实践
  • 汇编指令在不同架构中的联系与区别
  • 延迟队列的实现范式——ZSet与Stream方案对比、时间轮思想与使用边界
  • X00333-NeRF神经辐射场的数据结构优化探索
  • Kotaemon能否用于宠物护理建议?兽医知识普及场景
  • ARM 汇编指令:MOV
  • Java求职者面试:面试官与水货程序员的搞笑对决