Luogu P1948 [USACO08JAN]Telephone Lines
题目
两眼题
二分一个\(lim\),然后跑最短路(边权\(\le lim\)的边长度为\(0\),\(>lim\)的长度为\(1\)),然后判断\(dis_{1,n}\le k\)。
#include<bits/stdc++.h>
#define pi pair<int,int>
#define pb push_back
using namespace std;
int read(){int x;scanf("%d",&x);return x;}
const int N=1001,M=10001;
vector<pi>E[N];
int n,m,k,dis[N],vis[N];priority_queue<pi,vector<pi>,greater<pi>>q;
void dfs(int u){vis[u]=1;for(auto [v,w]:E[u])if(!vis[v])dfs(v);}
int check(int lim)
{
    memset(dis,0x3f,sizeof dis),memset(vis,0,sizeof vis),q.push(pi(dis[1]=0,1));
    while(!q.empty())
    {
	int u=q.top().second,w;q.pop();if(vis[u])continue;vis[u]=1;
	for(auto[v,x]:E[u])if(dis[u]+(w=x>lim)<dis[v])dis[v]=dis[u]+w,q.push(pi(dis[v],v));
    }
    return dis[n]<=k;
}
int main()
{
    n=read(),m=read(),k=read();
    for(int i=1,u,v,w;i<=m;++i)u=read(),v=read(),w=read(),E[u].pb(pi(v,w)),E[v].pb(pi(u,w));
    dfs(1);
    if(!vis[n]) return !printf("-1");
    int l=0,r=1e6,mid;
    while(l<=r) mid=l+r>>1,check(mid)? r=mid-1:l=mid+1;
    printf("%d",l);
}
												
											Luogu P1948 [USACO08JAN]Telephone Lines的更多相关文章
- P1948 [USACO08JAN]Telephone Lines S
		
题意描述 在无向图中求一条从 \(1\) 到 \(N\) 的路径,使得路径上第 \(K+1\) 大的边权最小. 等等,最大的最小...如此熟悉的字眼,难道是 二分答案. 下面进入正题. 算法分析 没错 ...
 - Luogu P1948 [USACO08JAN]电话线Telephone Lines(最短路+dp)
		
P1948 [USACO08JAN]电话线Telephone Lines 题意 题目描述 Farmer John wants to set up a telephone line at his far ...
 - [USACO08JAN]Telephone Lines
		
嘟嘟嘟 题意概括一下,就是在无向图上求一条1到n的路径,使路径上第k + 1大的边权尽量小. 考虑dp,令dp[i][j] 表示走到节点 i,路线上有 j 条电话线免费时,路径上最贵的电缆花费最小是多 ...
 - POJ3662 [USACO08JAN]Telephone Lines  (二分答案/分层图求最短路)
		
这道题目有两种解法: 1.将每个点视为一个二元组(x,p),表示从起点到x有p条路径免费,相当于构建了一张分层图,N*k个节点,P*k条边.在这张图上用优先队列优化的SPFA算法求解,注意这里的d数组 ...
 - 洛谷 P1948 [USACO08JAN]电话线Telephone Lines
		
P1948 [USACO08JAN]电话线Telephone Lines 题目描述 Farmer John wants to set up a telephone line at his farm. ...
 - 洛谷 P1948 [USACO08JAN]电话线Telephone Lines 题解
		
P1948 [USACO08JAN]电话线Telephone Lines 题目描述 Farmer John wants to set up a telephone line at his farm. ...
 - 洛谷 P1948 [USACO08JAN]电话线Telephone Lines 最短路+二分答案
		
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 题面 题目链接 P1948 [USACO08JAN]电话线Telephone ...
 - USACO Telephone Lines
		
洛谷 P1948 [USACO08JAN]电话线Telephone Lines https://www.luogu.org/problem/P1948 JDOJ 2556: USACO 2008 Ja ...
 - BZOJ1614: [Usaco2007 Jan]Telephone Lines架设电话线
		
1614: [Usaco2007 Jan]Telephone Lines架设电话线 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 892 Solved: ...
 
随机推荐
- jquery text选择器 语法
			
jquery text选择器 语法 作用::text 选择器选取类型为 text 的 <input> 元素.大理石平台检定规程 语法:$(":text") jquery ...
 - re.compile 函数
			
re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用. 语法格式为: re.com ...
 - [LOJ2538][PKUWC2018]Slay the Spire:DP
			
分析 学会新姿势!我们可以通过调整DP顺序来体现选取物品的优先顺序! 显然选取强化牌的最优策略是倍数从高到低,能选就选,最多选\(k-1\)张,选取攻击牌的最优策略是伤害从高到低,尽量少选,但最少选\ ...
 - javascript学习笔记之DOM
			
DOM(文档对象模型),描述了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...
 - 互联网_http协议
			
一.定义 http协议叫做超文本传输协议,是从web服务器传输超文本到本地浏览器的协议. 二.特征 1.无连接:即每次连接仅处理一个请求,服务器处理完客户的请求,并收到客户端的响应后,即断开连接.采用 ...
 - 揭开HTTPS的神秘面纱
			
摘自:https://www.cnblogs.com/hujingnb/p/11789728.html 揭开HTTPS的神秘面纱 在说HTTP前,一定要先介绍一下HTTP,这家伙应该不用过多说明了 ...
 - 如何运行一个分布式的Maven项目
			
本人也属于一个新手小白,之前在公司运行的项目也都不涉及到maven...但是前两天运行一个maven项目的时候发现,第一次接触这个还是蛮让我措手不及的.在这里整理下自己当时走的弯路,或者遇到的一些问题 ...
 - Java常考面试题整理(二)
			
21.Iterator和ListIterator的区别是什么? 参考答案: 下面列出了他们的区别: Iterator可以用来遍历Set和List集合,但是ListIterator只能用来遍历List. ...
 - C++入门经典-例4.6-使用重载函数
			
1:代码如下: // 4.6.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...
 - 【转】diamond专题(二)– 核心原理介绍
			
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...