题目+评测传送门
思路

其实这一题有2种不同的思路,但是由于我实在是太蒟蒻了,只会其中一种,另一种看了半天都不知道它在讲什么/(ㄒoㄒ)/~~

首先,我们要学习一下二分图及其判断方法博客,然后这个题目就很好解决了,我们二分计算仇恨值,然后在如果2人仇恨值大于mid,我们就把他们相连,然后判断这个图是否是二分图,即在左右部分里面"没有冲突",而判断是否是二分图的方法,上面给的链接里面也讲了,然后这道题就OK啦

代码
 1 #include<bits/stdc++.h>
 2 #define FOR(i,a,b) for(register int i=a;i<=b;i++)
 3 #define ll long long
 4 #define gc getchar();
 5 using namespace std;
 6 int n,m,maxx=0,num=0,ans;
 7 int head[20000+10];
 8 int colo[20000+10];
 9 struct s1
10 {
11     int fm,to,vl,nt;
12 }a[2*100000+10];
13 int scan()
14 {
15     int as=0,f=1;char c=gc;
16     while(c>'9'||c<'0'){if(c=='-') f=-1;c=gc};
17     while(c>='0'&&c<='9') {as=(as<<3)+(as<<1)+c-'0';c=gc};
18     return as*f;
19 }
20 void ad(int fm,int to,int vl)
21 {
22     a[++num].nt=head[fm];
23     a[num].fm=fm;a[num].to=to;a[num].vl=vl;
24     head[fm]=num;
25 }
26 bool chek(int mid)
27 {
28     memset(colo,0,sizeof(colo));
29     queue <int> q;
30     FOR(i,1,n)
31     {
32         if(colo[i]) continue;
33         q.push(i);colo[i]=1;//如果没有进入,随便进入一个坑,反正之前的都
34 //已经解决完了
35         while(!q.empty())
36         {
37             int u=q.front(); q.pop();
38             for(int j=head[u];j;j=a[j].nt)
39             {
40                 if(a[j].vl>=mid)
41                 {
42                     if(colo[a[j].to]==0)
43                     {
44                         colo[a[j].to]=colo[u]==1?2:1;//对立面的颜色
45                         q.push(a[j].to);
46                     }
47                     else if(colo[a[j].to]==colo[u]) return false;
48                 }
49             }
50         }
51     }
52     return true;
53 }
54 int main()
55 {
56     n=scan();m=scan();
57     FOR(i,1,m)
58     {
59         int f,t,v;
60         f=scan();t=scan();v=scan();
61         maxx=max(v,maxx);
62         ad(f,t,v);ad(t,f,v);
63     }
64     int l=0,r=maxx+1;
65     while(l+1<r)
66     {
67         int mid=(l+r)>>1;
68         if(chek(mid)) r=mid;
69         else l=mid;
70     }
71     cout<<l;
72     return 0;
73 }

转载于:https://www.cnblogs.com/KSTT/p/10368510.html

关押罪犯洛谷P1525相关推荐

  1. 并查集——关押罪犯(洛谷 P1525)

    题目选自洛谷P1525 此题是一道很经典,而且很好的题目.思路也十分的新颖,比较的难以捉摸. 题面大意:(人性翻译) 给你m对矛盾关系,每对关系分别涉及到x,y两人,矛盾值为w 请你判断分配x和y到两 ...

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

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

  3. 洛谷P1525 关押罪犯

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

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

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

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

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

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

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

  7. P1525 关押罪犯(扩展域并查集/二分图)

    洛谷题目链接 输入 4 6 1 4 2534 2 3 3512 1 2 28351 1 3 6618 2 4 1805 3 4 12884 输出 3512 1.并查集 有意思的一道并查集的题,需要一些 ...

  8. Luogu P1525 【关押罪犯】

    跟P1892团伙的做法类似. 除了用数组保存敌人编号之外,还有另一种做法. 团伙:合并时,用i节点表示为友,i+n结点表示为敌. 本题:合并时,用i节点表示同一监狱,i+n结点表示不同监狱. 按边权从 ...

  9. 洛谷:P2172 [国家集训队]部落战争

    题目链接: P2172 [国家集训队]部落战争 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: 很明显的二分图:将原点与它能走到的点连一条边,然后做一遍最小点覆盖:即选出 ...

最新文章

  1. MS CRM 2011 RC中的新特性(2)——销售自动化方面
  2. core+2.0+mysql_【Asp.Net Core】ASP.NET Core 2.0 + EF6 + Linux +MySql混搭
  3. 最强六大开源轻量级人脸检测项目分析 | 附打包下载
  4. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...
  5. C#多线程开发-使用并发集合
  6. vue-element-admin中 vuex 的使用
  7. minicom/picocom/cutecom/putty 安装与使用教程
  8. 抖音去水印解析网址入口_抖音去水印 视频去水印 小工具
  9. 数据库系统实训——实验九——函数
  10. glide源码中包含了那种设计模式_Glide源码解读(一)
  11. 常用的Java开发工具
  12. 米思齐 超声波传感器控制小灯泡
  13. 华为交换机eth口作用_华为交换机 eth-trunk
  14. app开发大致流程介绍(给非专业人士通俗易懂的明白):
  15. Python爬虫 刷博客访问量
  16. springcloud以及四大神兽面试涉及知识总结(持续更新)
  17. MathType无法加载mathpage.wll文件
  18. Unity3D笔记第十六天——Mecanim动画系统
  19. 为啥联通卡显示无服务器,天津联通物联卡显示无服务器
  20. Lect2 线性分类

热门文章

  1. 动画体系知识梳理(1) 转场动画 ContentTransition 理论篇
  2. Java并发工具类(闭锁CountDownLatch)
  3. BZOJ 2820 YY的GCD 莫比乌斯反演
  4. 重在参与吗。。。。。。。。
  5. 自动化配置和部署工具--puppet(1)--什么是puppet
  6. 照亮云备份的“钱”途
  7. 最后一个社团换届的感谢和感悟
  8. Springsecurity之AccessDecisionManager
  9. FileReader对象和FormData对象
  10. kubernetes认证,对接第三方认证系统,对接github认证