【USACO06NOV】路障
【题目链接】
【算法】
最短路
【代码】
#include<bits/stdc++.h>
using namespace std;
#define MAXN 5000
#define MAXM 100000 int i,N,M,shortest,ans;
int dista[MAXN+],distb[MAXN+],x[MAXM+],y[MAXM+],d[MAXM+],
visa[MAXN+],visb[MAXN+];
vector<pair<int,int> > E[MAXN+]; template <typename T> void read(T &x) {
int f=; char c = getchar(); x=;
for (; !isdigit(c); c = getchar()) { if (c=='-') f=-; }
for (; isdigit(c); c = getchar()) x=x*+c-'';
x*=f;
} inline void dijkstra1() {
int i,x,to;
priority_queue<pair<int,int> > q;
for (i = ; i <= N; i++) dista[i] = 2e9;
q.push(make_pair(-,));
while (!q.empty()) {
x = q.top().second; q.pop();
if (visa[x]) continue;
visa[x] = ;
for (i = ; i < E[x].size(); i++) {
to = E[x][i].first;
if (dista[x] + E[x][i].second < dista[to]) {
dista[to] = dista[x] + E[x][i].second;
q.push(make_pair(-dista[to],to));
}
}
}
} inline void dijkstra2() {
int i,x,to;
priority_queue<pair<int,int> > q;
for (i = ; i < N; i++) distb[i] = 2e9;
q.push(make_pair(-,N));
while (!q.empty()) {
x = q.top().second; q.pop();
if (visb[x]) continue;
visb[x] = ;
for (i = ; i < E[x].size(); i++) {
to = E[x][i].first;
if (distb[x] + E[x][i].second < distb[to]) {
distb[to] = distb[x] + E[x][i].second;
q.push(make_pair(-distb[to],to));
}
}
}
} int main() { read(N); read(M); for (i = ; i <= M; i++) {
read(x[i]); read(y[i]); read(d[i]);
E[x[i]].push_back(make_pair(y[i],d[i]));
E[y[i]].push_back(make_pair(x[i],d[i]));
} dijkstra1();
dijkstra2(); shortest = dista[N];
ans = 2e9; for (i = ; i <= M; i++) {
if (dista[x[i]] + d[i] + distb[y[i]] > shortest)
ans = min(ans,dista[x[i]]+d[i]+distb[y[i]]);
if (dista[y[i]] + d[i] + distb[x[i]] > shortest)
ans = min(ans,dista[y[i]]+d[i]+distb[x[i]]);
} cout<< ans << endl; return ; }
【USACO06NOV】路障的更多相关文章
- P2865 [USACO06NOV]路障Roadblocks
P2865 [USACO06NOV]路障Roadblocks 最短路(次短路) 直接在dijkstra中维护2个数组:d1(最短路),d2(次短路),然后跑一遍就行了. attention:数据有不同 ...
- 洛谷——P2865 [USACO06NOV]路障Roadblocks
P2865 [USACO06NOV]路障Roadblocks 题目描述 Bessie has moved to a small farm and sometimes enjoys returning ...
- 络谷 P2865 [USACO06NOV]路障Roadblocks
P2865 [USACO06NOV]路障Roadblocks 题目描述 Bessie has moved to a small farm and sometimes enjoys returning ...
- P2865 【[USACO06NOV]路障Roadblocks】(次短路)
传送门 算法Dijkstra要求次短路 那么在不考虑重复走一条边的情况下 肯定是把最短路中的一段改成另一段 至少要换另一条边到路径里所以可以枚举所有不属于最短路的每条边(a,b) 那么dis(1,a) ...
- 【洛谷 P2865】 [USACO06NOV]路障Roadblocks(最短路)
题目链接 次短路模板题. 对每个点记录最短路和严格次短路,然后就是维护次值的方法了. 和这题一样. #include <cstdio> #include <queue> #in ...
- [USACO06NOV]路障---严格次短路
Description 贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样, ...
- 洛谷题解 P2865 【[USACO06NOV]路障Roadblocks】
链接:https://www.luogu.org/problemnew/show/P2865 题目描述 Bessie has moved to a small farm and sometimes e ...
- LG2865 [USACO06NOV]路障Roadblocks
题意 Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. ...
- luogu2865 [USACO06NOV]路障Roadblocks 次短路
注意:如果是这么个写法,堆数组要开成n+m的. 为什么呢?设想一下从1到2有m条长度递减的路,这岂不是要入队m次-- #include <algorithm> #include <i ...
- BZOJ 1726 洛谷 2865 [USACO06NOV]路障Roadblocks【次短路】
·求1到n的严格次短路. [题解] dijktra魔改?允许多次入队,改了次短路的值也要入队. #include<cstdio> #include<algorithm> #de ...
随机推荐
- nyoj_90_整数划分_201403161553
整数划分 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+…+nk, 其中n1≥n2≥…≥nk≥1,k≥1. 正整数 ...
- Netty构建游戏服务器(三)--netty spring简单整合
一,基本方法 上节实现了netty的基本连接,这节加入spring来管理netty,由spring来开启netty服务. 在netty服务器中,我们建立了三个类:HelloServer(程序主入口) ...
- Gradle讲解
简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. ...
- BZOJ 2957 楼房重建 (线段树)
题目链接 楼房重建 解题思路:我们可以把楼房的最高点的斜率计算出来.那么问题就转化成了实时查询x的个数,满足数列x的左边没有大于等于x的数. 我们可以用线段树维护 设t[i]为如果只看这个区间,可以 ...
- Centos7安装遇到的问题及详解
1.虚拟机中选择的是NAT模式,我的笔记本电脑是拨号上网,用桥接模式,找不到网卡,在windows的dos界面用ipconfig查看的结果 PPP适配器 宽带连接:IPv4 地址 . . . . . ...
- NBUT 1457 Sona (莫队算法)
题目大意: 求一段区间内 出现的数字的次数的三次方的和 思路分析: 这要水过去的题目真是难,各种优化. 不能用map , 要离散化之后 先处理lowerbound. 优化输入. . . 时间卡的非常紧 ...
- Android开发系列(二十一):Spinner的功能和使用方法以及实现列表选择框
Spinner是一个列表选择框.相当于弹出一个菜单供用户进行选择. Spinner继承AdapterView Spinnet支持的XML的属性: android:entries:使用数组资源设置该下拉 ...
- POJ1811_Prime Test【Miller Rabin素数測试】【Pollar Rho整数分解】
Prime Test Time Limit: 6000MS Memory Limit: 65536K Total Submissions: 29193 Accepted: 7392 Case Time ...
- 创建节点createElement
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- Filter注入对象
由于没有在web.xml文件中加上<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter ...