[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=1579

[算法]

dist[u][k]表示当前在点u,升级了k条道路,最短路径的长度

dijkstra即可

[代码]

#include<bits/stdc++.h>
using namespace std;
#define MAXN 100010
#define MAXM 50010
#define MAXK 25 int i,n,m,k,u,v,w,tot;
int dist[MAXN][MAXK];
int head[MAXN]; struct edge
{
int to,w,nxt;
} e[MAXM << ];
inline void addedge(int u,int v,int w)
{
tot++;
e[tot] = (edge){v,w,head[u]};
head[u] = tot;
}
inline void dijkstra()
{
int i,v,w;
static bool visited[MAXN][MAXK];
pair<int,int> cur;
priority_queue< pair<int,pair<int,int> > > q;
memset(visited,false,sizeof(visited));
memset(dist,0x3f,sizeof(dist));
dist[][] = ;
q.push(make_pair(,make_pair(,)));
while (!q.empty())
{
cur = q.top().second;
q.pop();
if (visited[cur.first][cur.second]) continue;
visited[cur.first][cur.second] = true;
for (i = head[cur.first]; i; i = e[i].nxt)
{
v = e[i].to;
w = e[i].w;
if (dist[cur.first][cur.second] + w < dist[v][cur.second])
{
dist[v][cur.second] = dist[cur.first][cur.second] + w;
q.push(make_pair(-dist[v][cur.second],make_pair(v,cur.second)));
}
if (cur.second < k && dist[cur.first][cur.second] < dist[v][cur.second + ])
{
dist[v][cur.second + ] = dist[cur.first][cur.second];
q.push(make_pair(-dist[v][cur.second + ],make_pair(v,cur.second + )));
}
}
}
}
int main()
{ scanf("%d%d%d",&n,&m,&k);
for (i = ; i <= m; i++)
{
scanf("%d%d%d",&u,&v,&w);
addedge(u,v,w);
addedge(v,u,w);
}
dijkstra();
printf("%d\n",dist[n][k]); return ; }

[BZOJ 1579] Revamping Trails的更多相关文章

  1. Bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级 dijkstra,堆,分层图

    1579: [Usaco2009 Feb]Revamping Trails 道路升级 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1573  Solv ...

  2. BZOJ 1579: [Usaco2009 Feb]Revamping Trails 道路升级( 最短路 )

    最短路...多加一维表示更新了多少条路 -------------------------------------------------------------------------------- ...

  3. 【BZOJ 1579】 1579: [Usaco2009 Feb]Revamping Trails 道路升级 (最短路)

    1579: [Usaco2009 Feb]Revamping Trails 道路升级 Description 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M< ...

  4. bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级 -- 分层图最短路

    1579: [Usaco2009 Feb]Revamping Trails 道路升级 Time Limit: 10 Sec  Memory Limit: 64 MB Description 每天,农夫 ...

  5. bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级 优先队列+dij

    1579: [Usaco2009 Feb]Revamping Trails 道路升级 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1768  Solv ...

  6. P2939 [USACO09FEB]改造路Revamping Trails

    P2939 [USACO09FEB]改造路Revamping Trails 同bzoj2763.不过dbzoj太慢了,bzoj又交不了. 裸的分层图最短路. f[i][j]表示免费走了j条路到达i的最 ...

  7. 分层图最短路 【bzoj1579】[Usaco2009 Feb]Revamping Trails 道路升级

    1579: [Usaco2009 Feb]Revamping Trails 道路升级 Description 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M< ...

  8. [JLOI 2011]飞行路线&[USACO 09FEB]Revamping Trails

    Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并 ...

  9. BZOJ_1579_[Usaco2009 Feb]Revamping Trails 道路升级_分层图最短路

    BZOJ_1579_[Usaco2009 Feb]Revamping Trails 道路升级_分层图最短路 Description 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M ...

随机推荐

  1. Android 应用安装成功之后删除apk文件

    问题: 在应用开发中遇到需要这样的需求:在用户下载我们的应用安装之后删除安装包. 解决: android会在每个外界操作APK的动作之后发出系统级别的广播,过滤器名称: android.intent. ...

  2. 修改Switch 的颜色

    1:效果图 2:布局 <Switch android:id="@+id/switch_bg" style="@style/switchStyle" and ...

  3. Java关于反射的用法

    一. 首先是准备一个需要反射的类 public class Person { private String name; private int age; public String sex; publ ...

  4. 阶乘问题-----sum随变量改变而改变

  5. openMSP430之openmsp430-loader

    openmsp430-loader This simple program allows the user to load the openMSP430 program memory with an ...

  6. 读书笔记「Python编程:从入门到实践」_11.测试函数

    11.1 测试函数 要学习测试,得有要测试的代码.下面是一个简单的函数,它接受名和姓并返回整洁的姓名: def get_formatted_name(first, last): "" ...

  7. c# 读取 XML

    XmlDocument xmldoc = new XmlDocument(); string xmlPath = HttpContext.Server.MapPath("~/*****.xm ...

  8. 利用node、express初始化项目

    前端做整站是开发,例如:前端是用了vue创建初始化项目,后端我们不会php.java等,我们只能用node去创建去做后端代码,本文就给大家讲解最基础的从零开始创建一个项目的后端环境. 一般来说前后端代 ...

  9. 通俗易懂之SpringMVC&Struts2前端拦截器详解

    直接进入主题吧!一,配置Struts2的拦截器分两步走1配置对应的拦截器类:2在配置文件Struts.xml中进行配置拦截器同时在Strust2中配置拦截器类有三种方法1实现Interceptor接口 ...

  10. PAT_A1138#Postorder Traversal

    Source: PAT A1138 Postorder Traversal (25 分) Description: Suppose that all the keys in a binary tree ...