P4822 [BJWC2012]冻结 (分层图最短路)

2024-04-29 09:38

本文主要是介绍P4822 [BJWC2012]冻结 (分层图最短路),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:https://www.luogu.org/problem/P4822

有 N 个城市,M 条双向的道路。城市编号为 1~N,我们在 1 号城市,需要到 N 号城市,怎样才能最快地到达呢?

现在,我们一共有 K 张可以使时间变慢 50%的 SpellCard,也就是说,在通过某条路径时,我们可以选择使用一张卡片,这样,我们通过这一条道路的时间 就可以减少到原先的一半。需要注意的是:

  1. 在一条道路上最多只能使用一张 SpellCard。
  2. 使用一张SpellCard 只在一条道路上起作用。
  3. 你不必使用完所有的 SpellCard。

给定以上的信息,你的任务是:求出在可以使用这不超过 K 张时间减速的 SpellCard 之情形下,从城市1 到城市N最少需要多长时间。

 

 代码:

#include<bits/stdc++.h>
using namespace std;
#define pii pair<int, int>
const int INF = 0x3f3f3f3f;
const int MAXN = 3000;
const int MAXM = 1e5 * 3;
int n, m, k;
struct Edge
{int to, w, nxt;
}edge[MAXM];
int head[MAXN], t = 1;
void init()
{memset(head, -1, sizeof(h

这篇关于P4822 [BJWC2012]冻结 (分层图最短路)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945742

相关文章

Mac excel 同时冻结首行和首列

1. 选择B2窗格 2. 选择视图 3. 选择冻结窗格 最后首行和首列的分割线加粗了就表示成功了

BFS:解决多源最短路问题

文章目录 什么是多源最短路问题?1.矩阵2.飞地的数量3.地图的最高点4.地图分析总结 什么是多源最短路问题? 多源最短路问题(Multi-Source Shortest Path Problem,MSSP)是图论中的一个经典问题,它的目标是在给定图中找到从多个源点到所有其他顶点的最短路径。这个问题可以视为单源最短路问题(Single-Source Shortest Pa

最短路算法总结(dijkstra,flyod,bellmanford,spfa)

总结 d i j k s t r a dijkstra dijkstra h e a p − d i j k s t r a heap-dijkstra heap−dijkstra b e l l m a n f o r d bellmanford bellmanford s p f a spfa spfa f l o y d floyd floyd最短路类型单源单源单源单源全源数据维护 e

MyBatis架构分层

MyBatis整体结构 接口层 与用户应用打交道最多,核心对象是sqlSession;是上层应用和myBatis打交道的桥梁接口层定义了很多对数据库操作的方法,接口层在收到调用请求的时候,会调用核心处理层的响应模块来完成具体的数据库操作 数据处理层 负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 把接口中传入的参数解析

BFS 解决最短路问题

例题一 解法(bfs 求最短路): 算法思路: 利⽤层序遍历来解决迷宫问题,是最经典的做法。我们可以从起点开始层序遍历,并且在遍历的过程中记录当前遍历的层数。这样就能在找到出⼝的时候,得到起点到出⼝的最短距离。 例题二 解法: 算法思路: 如果将「每次字符串的变换」抽象成图中的「两个顶点和⼀条边」的话,问题就变成了「边权为

[HDU 5889] Barricade (最短路 + 最小割)

HDU - 5889 给定一张无向图,每条边的长度为 1 要求在 1到 N的最短路上放一些陷阱 使得 1到 N的每条最短路上至少有一个陷阱 其中在某条边上修陷阱有一个代价,求最小代价和 很显然的一个最小割 首先先用 SPFA把最短路求出来,然后依据最短路建图 然后再在新图上跑网络流即可 注意这个流量是有方向的,最短路上的反向边容量应该清零 #pragma comment(link

CPN IDE实现分层效果

Shift键+鼠标选中要分层的库所和变迁!然后create subpage。 Subpage是这样的,不会像CPN tools里面自动生成IN和OUT库所,但是也能正确运行。 虽然父页面在运行中有标红:"port not defined" 错误通常意味着在模型中有一些连接(port)未定义或者未正确连接。好在可以正确运行,但是运行结果过程明显不对,没有在CPN tools中那么合理

python中的短路计算

1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 所以Python

图论 —— 最短路 —— Johnson 算法

【概述】 对于单源最短路来说,有时间复杂度为 O(E+VlogV) 要求权值非负的 Dijkstra,时间复杂度为 O(VE) 适用于带负权值的 Bellman Ford 对于全源最短路来说,除了时间复杂度为 O(V*V*V) 利用动态规划思想的 Floyd 算法外,可以认为是单源最短路径的推广,即分别以每个顶点为源点求其至其他顶点的最短距离 对于每个顶点利用 Ford 算法,时间复杂度为

图论 —— 最短路

【概述】 最短路是图论中十分常见的一个问题,可分为单源最短路与全源最短路。 对于单源最短路来说,有时间复杂度为 O(E+VlogV) 要求权值非负的 Dijkstra,时间复杂度为 O(VE) 适用于带负权值的 Bellman Ford 对于全源最短路来说,有时间复杂度为 O(V*V*V) 的利用动态规划思想的 Floyd 算法,时间复杂度为 O(V*E+V*V*logV) 的基于 Dijk