BZOJ1579: [Usaco2009 Feb]Revamping Trails 道路升级
题目链接
【分析】
BZOJ2763加强版。。先用spfaT掉了。加优化的dij很快。
【代码】
#include <cstdio>
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <stack>
#define N 10005
#define M 100005
#define INF 0x7fffffff
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pa;int read()
{int x=0,f=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}return x*f;
}int n,m,K,cnt;
int b[M],p[N],nextedge[M],w[M];
int dis[N][25];struct node{int x,y,z;node(){}node(int xx,int yy,int zz){x=xx;y=yy;z=zz;}bool operator < (const node &a)const{return a.z<z;}
};void Add(int x,int y,int z)
{cnt++;b[cnt]=y;nextedge[cnt]=p[x];p[x]=cnt;w[cnt]=z;
}void Anode(int x,int y,int z){Add(x,y,z);Add(y,x,z);
}void Input_Init()
{n=read(),m=read(),K=read();for(int i=1;i<=m;i++){static int x,y,z;x=read(),y=read(),z=read();Anode(x,y,z);}
}priority_queue<node>q;
void Dij()
{q.push(node(1,0,0));for(int i=1;i<=n;i++)for(int j=0;j<=K;j++) dis[i][j]=INF;dis[1][0]=0;while(!q.empty()){node k=q.top();q.pop();if(k.x==n){printf("%d\n",k.z);return;} for(int i=p[k.x];i;i=nextedge[i]){int v=b[i];if(dis[v][k.y]>k.z+w[i]){dis[v][k.y]=k.z+w[i];q.push(node(v,k.y,k.z+w[i]));}if(dis[v][k.y+1]>k.z){dis[v][k.y+1]=k.z;q.push(node(v,k.y+1,k.z));}}}
}int main()
{Input_Init();Dij();return 0;
}
BZOJ1579: [Usaco2009 Feb]Revamping Trails 道路升级相关推荐
- [Usaco2009 Feb]Revamping Trails 道路升级
题目描述 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M<=50,000)条双向泥土道路,编号为1..M. 道路i连接牛棚P1_i和P2_i (1 < ...
- bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级【分层图+spfa】
至死不用dijskstra系列2333,洛谷上T了一个点,开了O2才过 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为0,表示免了这条边 ...
- 【BZOJ】1579: [Usaco2009 Feb]Revamping Trails 道路升级
[算法]分层图最短路 [题解] 考虑k层一模一样的图,然后每个夹层都在每条边的位置新加从上一层跨越到下一层的边权为0的边,这样至多选择k条边置为0. 然后考虑方便的写法. SPFA 第一次SPFA计算 ...
- 洛谷 P2939 [USACO09FEB]改造路Revamping Trails
洛谷 P2939 [USACO09FEB]改造路Revamping Trails Description 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到 ...
- 1578: [Usaco2009 Feb]Stock Market 股票市场
1578: [Usaco2009 Feb]Stock Market 股票市场 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 414 Solved: ...
- [JLOI 2011]飞行路线[USACO 09FEB]Revamping Trails
Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并 ...
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)
3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 353 Solved: 248 ...
- 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 243 Solved: 167 ...
- 第一周-3.2道路升级
道路升级 问题描述 Z国有 n 个城市和 m 条双向道路,每条道路连接了两个不同的城市,保证所有城市之间都可以通过这些道路互达.每条道路都有一个载重量限制,这限制了通过这条道路的货车最大的载重量.道路 ...
- 算法训练营:道路升级
问题描述 Z国有 n 个城市和 m 条双向道路,每条道路连接了两个不同的城市,保证所有城市之间都可以通过这些道路互达.每条道路都有一个载重量限制,这限制了通过这条道路的货车最大的载重量.道路的编号从 ...
最新文章
- 你和PPT高手之间,就只差一个iSlide
- JS - Promise使用随笔
- Oracle中若何间接运转OS敕令(下)
- 牛客网Java刷题知识点之什么是代码块、普通代码块、静态代码块、同步代码块、构造代码块以及执行顺序...
- 安装ipython失败 in error catcher_疯狂的Python:零基础小白入门帖子详情 - 网易云课堂...
- git-撤销工作与的修改-回退缓存区的修改
- 学习笔记———Python内置函数dir()
- 开发申请评分卡的第一步要做什么
- 从编写到上线带你搞定springboot博客01
- 报线上python课程靠谱吗-Python培训线上和线下有什么区别?
- android抓包为什么有些数据抓不了?抓包的辛酸历程
- excel如何批量制作二维码?
- 小米4C关闭html查看器,小米4C解锁教程_小米4C一键解锁Bootloader的方法
- (4.5.5.6)Espresso的进阶: IdlingResource
- C语言Matrix编程题——[Recursion]D. Liang 8.1 Computing factorials
- 推荐几个不错的DOTNET控件网址
- Object is possibly undefined
- P1413 坚果保龄球——题解2020.10.10
- RabbitMQ流量削峰应用
- “三方演义”与性能优化
热门文章
- 有赞BI平台实现原理
- word表格分开快捷键_Word快捷键一览表
- 依赖计算机英语作文,2011年高考英语卷写作表达题目范文汇总(39):过度依赖电脑的弊端...
- OpenCV—HSV色彩空间基础知识
- Failed to create/setup connection: This driver is not configured for integrated authentication
- JVM学习--垃圾回收机制
- gmail服务器停止响应,gmail停用后带来巨**烦 - 外贸邮箱邮件群发 - 电脑网络 - 福步外贸论坛(FOB Business Forum) |中国第一外贸论坛...
- 什么是语法糖(syntactic suger)
- 2022年后人工智能八大应用方向
- 大数据时代,如何做商业智能产品选型