BZOJ 1196: [HNOI2006]公路修建问题 Kruskal/二分
1196: [HNOI2006]公路修建问题
Time Limit: 1 Sec Memory Limit: 162 MB
题目连接
http://www.lydsy.com/JudgeOnline/problem.php?id=1196
Description
Input
Output
Sample Input
10 4 20
3 9 6 3
1 3 4 1
5 3 10 2
8 9 8 7
6 8 8 3
7 1 3 2
4 9 9 5
10 8 9 1
2 6 9 1
6 7 9 8
2 6 2 1
3 8 9 5
3 2 9 6
1 6 10 3
5 6 3 1
2 7 6 1
7 8 6 2
10 9 2 1
7 1 10 2
Sample Output
HINT
题解:
二分L,然后用kruskal来进行check,首先判断会不会超过K,搞一搞就出来了!
代码:
#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
typedef long long ll;
using namespace std;
//freopen("D.in","r",stdin);
//freopen("D.out","w",stdout);
#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
#define maxn 20001
#define mod 10007
#define eps 1e-9
//const int inf=0x7fffffff; //无限大
const int inf=0x3f3f3f3f;
/* */
//************************************************************************************** inline ll read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
struct node{
int x,y,c1,c2;
}e[maxn];
int fa[maxn];
int n,k,m;
int fin(int x)
{
return x==fa[x]?x:fa[x]=fin(fa[x]);
}
int jud(int x)
{
for(int i=;i<=n;i++)
fa[i]=i;
int cnt=;
for(int i=;i<m;i++)
{
if(e[i].c1>x)continue;
int p=fin(e[i].x),q=fin(e[i].y);
if(fin(p)!=fin(q))
{
fa[q]=p;
cnt++;
}
}
if(cnt<k)return ;
for(int i=;i<m;i++)
{
if(e[i].c2>x)continue;
int p=fin(e[i].x),q=fin(e[i].y);
if(fin(p)!=fin(q))
{
fa[q]=p;
cnt++;
}
}
if(cnt==n-)return ;
return ;
}
int main()
{
n=read(),k=read(),m=read();
for(int i=;i<=m-;i++)
{
e[i].x=read(),e[i].y=read(),e[i].c1=read(),e[i].c2=read();
}
int l=,r=,mid=(l+r)/;
int ans=mid;
while(l<=r)
{
mid=(l+r)/;
if(jud(mid)){r=mid-,ans=mid;}
else l=mid+;
}
printf("%d\n",ans);
}
BZOJ 1196: [HNOI2006]公路修建问题 Kruskal/二分的更多相关文章
- BZOJ 1196 [HNOI2006]公路修建问题:二分 + 贪心生成树check(类似kruskal)
		
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1196 题意: n个城市,m对城市之间可以修公路. 公路有两种,一级公路和二级公路,在第i对 ...
 - BZOJ 1196 [HNOI2006]公路修建问题(二分答案+并查集)
		
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1196 [题目大意] 对于每条可能维修的公路可选择修一级公路或者二级公路,价值不同 要求 ...
 - bzoj 1196: [HNOI2006]公路修建问题  二分+并查集
		
题目链接 1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1576 Solved: 909[Submit ...
 - 【最小生成树】BZOJ 1196: [HNOI2006]公路修建问题
		
1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1435 Solved: 810[Submit][Sta ...
 - BZOJ 1196: [HNOI2006]公路修建问题( MST )
		
水题... 容易发现花费最大最小即是求 MST 将每条边拆成一级 , 二级两条 , 然后跑 MST . 跑 MST 时 , 要先加 k 条一级road , 保证满足题意 , 然后再跑普通的 MST . ...
 - bzoj 1196: [HNOI2006]公路修建问题(二分+贪心)
		
传送门 解题思路 看到最大,肯定要先想二分答案.二分之后首先从小到大枚举\(k\)个小于\(lim\)的所有一级公路,然后用并查集连到一起,然后就在剩下的里面从小到大找n-1-k个二级公路,模仿最小生 ...
 - bzoj 1196: [HNOI2006]公路修建问题
		
Description OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织 ...
 - BZOJ_1196_[HNOI2006]公路修建问题_kruskal+二分答案
		
BZOJ_1196_[HNOI2006]公路修建问题_kruskal+二分答案 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1196 分析: ...
 - BZOJ1196 [HNOI2006]公路修建问题  【二分 + Kruskal】
		
题目 OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织成立了,旨在建立O ...
 
随机推荐
- 转载-SVN常用命令
			
SVN(Subversion)是一个自由.开源的项目源代码版本控制工具.目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件. Subversion将文件存放在中心版本库里,这个版本 ...
 - linux快速复制大量小文件方法 nc+tar【转】
			
1,在需要对大量小文件进行移动或复制时,用cp.mv都会显得很没有效率,可以用tar先压缩再解压缩的方式. 2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输. nc和tar ...
 - ExtJs的Reader
			
ExtJs的Reader Reader : 主要用于将proxy数据代理读取的数据按照不同的规则进行解析,讲解析好的数据保存到Modle中 结构图 Ext.data.reader.Reader 读取器 ...
 - epoll测试实例
			
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
 - 教您如何进行SQL跨表更新
			
SQL跨表更新数据是在使用SQL数据库中比较常用的,下面就将为您详细介绍SQL跨表更新数据的步骤,希望对您学习SQL跨表更新数据有所启迪. 原始数据如下,首先是表结构 A_dept的初始数据 A_em ...
 - python中round(四舍五入)的坑
			
python中的round函数不能直接拿来四舍五入,一种替代方式是使用Decimal.quantize()函数. 具体内容待补. >>> round(2.675, 2) 2.67 可 ...
 - 安装部署Apache Hadoop (完全分布式模式并且实现NameNode HA和ResourceManager HA)
			
本节内容: 环境规划 配置集群各节点hosts文件 安装JDK1.7 安装依赖包ssh和rsync 各节点时间同步 安装Zookeeper集群 添加Hadoop运行用户 配置主节点登录自己和其他节点不 ...
 - Hive(十)Hive性能调优总结
			
一.Fetch抓取 1.理论分析 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算.例如:SELECT * FROM employees;在这种情况下,Hive可以简单 ...
 - Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些
			
前言 CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁.CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借 ...
 - 易普优APS-3C行业解决方案助力国家智能制造示范车间实现高效计划排程
			
一. 项目背景 广东劲胜智能集团国家智能制造专项——移动终端金属加工智能制造新模式项目是2015年国家94家智能制1.造专项之一.本项目实施车间为金属CNC加工车间(下称“智能制造示范车间” ...