题目+评测传送门
思路

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

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

代码
 #include<bits/stdc++.h>
#define FOR(i,a,b) for(register int i=a;i<=b;i++)
#define ll long long
#define gc getchar();
using namespace std;
int n,m,maxx=,num=,ans;
int head[+];
int colo[+];
struct s1
{
int fm,to,vl,nt;
}a[*+];
int scan()
{
int as=,f=;char c=gc;
while(c>''||c<''){if(c=='-') f=-;c=gc};
while(c>=''&&c<='') {as=(as<<)+(as<<)+c-'';c=gc};
return as*f;
}
void ad(int fm,int to,int vl)
{
a[++num].nt=head[fm];
a[num].fm=fm;a[num].to=to;a[num].vl=vl;
head[fm]=num;
}
bool chek(int mid)
{
memset(colo,,sizeof(colo));
queue <int> q;
FOR(i,,n)
{
if(colo[i]) continue;
q.push(i);colo[i]=;//如果没有进入,随便进入一个坑,反正之前的都
//已经解决完了
while(!q.empty())
{
int u=q.front(); q.pop();
for(int j=head[u];j;j=a[j].nt)
{
if(a[j].vl>=mid)
{
if(colo[a[j].to]==)
{
colo[a[j].to]=colo[u]==?:;//对立面的颜色
q.push(a[j].to);
}
else if(colo[a[j].to]==colo[u]) return false;
}
}
}
}
return true;
}
int main()
{
n=scan();m=scan();
FOR(i,,m)
{
int f,t,v;
f=scan();t=scan();v=scan();
maxx=max(v,maxx);
ad(f,t,v);ad(t,f,v);
}
int l=,r=maxx+;
while(l+<r)
{
int mid=(l+r)>>;
if(chek(mid)) r=mid;
else l=mid;
}
cout<<l;
return ;
}

最新文章

  1. Purfer Sequence
  2. C#编辑图像文件EXIF信息
  3. golang获取数据表转换为json通用方法
  4. Python实践:提取文章摘要
  5. 转载:JMS-ActiveMQ浅析
  6. form表单中的enctype属性什么意思?
  7. 【转】shell 教程——02 几种常见的Shell
  8. sql server 2008 创建新数据库报错、创建表报错、更改表的设计报错
  9. spring框架详解
  10. BZOJ 1058 报表统计 (STL)
  11. JS&amp;Java实现常见算法面试题
  12. 在 C 代码中嵌入 Python 语句或使用 Python 模块 (Visual Studio 2013 环境设置)
  13. 91. Reverse Linked List 反转链表
  14. JavaScript:几种常用循环
  15. POJ2779 线性DP 或 杨氏三角 和 钩子公式
  16. System.IO.Path文件路径类
  17. idea问题总结记录
  18. spring-boot 速成(9) druid+mybatis 多数据源及读写分离的处理
  19. 第二阶段Sprint冲刺会议9
  20. Dubbo中多注册中心问题与服务分组

热门文章

  1. 阴影效果的小 demo
  2. 数据库学习(二) case when then else end 的使用
  3. 阿里云ECS下基于Centos7.4安装MySQL5.7.20
  4. final static 修饰(转载)
  5. 51单片机实现外部中断00H-FFH、000-255、0000-1023
  6. Linux下的命令行
  7. servlet入门(1)
  8. android自定义View绘制圆形头像与椭圆头像
  9. Object类中的五种方法
  10. Spring温故而知新 – bean的装配