leedcode测试链接:https://leetcode.cn/problems/DFPeFJ/

题解:

class Solution {
public:
int electricCarPlan(vector<vector<int>>& paths, int cnt, int start, int end, vector<int>& charge) {
int n = charge.size();
vector<vector<pair<int,int>>>graph(n);
vector<vector<bool>>vis(n,vector<bool>(cnt+1,false));
priority_queue<vector<int>,vector<vector<int>>,greater<vector<int>>>pq;
vector<vector<int>>dis(n,vector<int>(cnt+1,INT_MAX));
for(int i=0;i<paths.size();i++)
{
int u = paths[i][0];
int v = paths[i][1];
int w = paths[i][2];
graph[u].push_back({v,w});
graph[v].push_back({u,w});
}
pq.push({0,0,start});
while(!pq.empty())
{
vector<int> node = pq.top();
pq.pop();
int cost = node[0];
int pow = node[1];
int cur = node[2];
if(vis[cur][pow])continue;
if(cur==end)return cost;
if(pow<cnt&&!vis[cur][pow+1]&&charge[cur]+cost<dis[cur][pow+1])
{
dis[cur][pow+1] = charge[cur] + cost;
pq.push({dis[cur][pow+1],pow+1,cur});
}
vis[cur][pow]=true;
for(auto edge:graph[cur])
{
int nt = edge.first;
int rpow = pow - edge.second;
int ct = cost+edge.second;
if(rpow>=0&&!vis[nt][rpow]&&ct<dis[nt][rpow])
{
dis[nt][rpow]=ct;
pq.push({ct,rpow,nt});
}
}
}
return -1;
}
};

LCP 35. 电动车游城市(分层图最短路+Dijkstra)的更多相关文章

  1. BZOJ 1579: [Usaco2009 Feb]Revamping Trails 道路升级 分层图最短路 + Dijkstra

    Description 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M<=50,000)条双向泥土道路,编号为1..M. 道路i连接牛棚P1_i和P2_i ...

  2. BZOJ_2662_[BeiJing wc2012]冻结_分层图最短路

    BZOJ_2662_[BeiJing wc2012]冻结_分层图最短路 Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切, ...

  3. ACM-ICPC 2018 南京赛区网络预赛 L 【分层图最短路】

    <题目链接> 题目大意: 有N个城市,这些城市之间有M条有向边,每条边有权值,能够选择K条边 边权置为0,求1到N的最短距离. 解题分析: 分层图最短路模板题,将该图看成 K+1 层图,然 ...

  4. BZOJ2662[BeiJing wc2012]冻结——分层图最短路

    题目描述 “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”     在这个愿望被实现以后的世界里,人们享受着魔法卡片(Spe ...

  5. 2763. [JLOI2011]飞行路线【分层图最短路】

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

  6. BZOJ2662:[BJWC2012]冻结(分层图最短路)

    Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享 ...

  7. 【bzoj2763】[JLOI2011]飞行路线 (分层图最短路)(优先队列dij)

    [bzoj2763][JLOI2011]飞行路线 2014年3月25日1,7260 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城 ...

  8. 分层图最短路【bzoj2662】[BeiJing wc2012]冻结

    分层图最短路[bzoj2662][BeiJing wc2012]冻结 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" ...

  9. 分层图最短路【bzoj2763】: [JLOI2011]飞行路线

    bzoj2763: [JLOI2011]飞行路线 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0 ...

  10. [JLOI2011]飞行路线 分层图最短路

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

随机推荐

  1. FreeSWITCH Jitter Buffer 技术解析与应用指南

    一.概述 freeswitch是一款简单好用的VOIP开源软交换平台. Jitter Buffer(抖动缓冲器)是实时语音通信中解决网络抖动和延迟问题的核心技术.FreeSWITCH通过STFU(So ...

  2. odoo15接口调用qweb打印,将pdf旋转并下载到本地

    一.将pdf旋转的通用方法 def rotate_pdf(self, pdf, angle): """ rotateClockwise(90) 这里的pdf传:bytes ...

  3. gRPC-go的一些tips

    1.请注意,在 gRPC-Go 中,RPC 以阻塞/同步模式运行,这意味着 RPC 调用等待服务器响应,并且将返回响应或错误. Note that in gRPC-Go, RPCs operate i ...

  4. Java集合--LinkedList源码可视化

    集合节点保存的都是对象的引用,而非具体值,文中案例仅仅为了方便实现原理的演示. 1. 底层数据结构 LinkedList 基于 双向链表 实现,内部通过 Node<E> 节点相互连接: p ...

  5. Step-by-step FTP to ABAP Proxy

    引自:https://wiki.scn.sap.com/wiki/display/XI/Step-by-step+FTP+to+ABAP+Proxy ABAP Server Proxy Area: S ...

  6. hot100之栈

    有效的括号(020) 跳过 最小栈(155) class MinStack { private final Deque<int[]> stack = new ArrayDeque<& ...

  7. 几分钟了解下java虚拟机--02

    几分钟应该看不完,私密马赛, 俺是标题党 既然来了, 看看吧, 球球你了 Java类加载器 类的生命周期和加载过程 加载 加载所有的.class文件/jar文件/网络流 →字节流 (JVM 与java ...

  8. UFT VBScripts sharing

  9. FastAPI权限配置:你的系统真的安全吗?

    url: /posts/96b6ede65030daa4613ab92da1d739a6/ title: FastAPI权限配置:你的系统真的安全吗? date: 2025-06-26T07:35:3 ...

  10. JQ 数组删除(splice和delete)

    https://www.cnblogs.com/jhuang-com/p/10476365.html 删除数据的一行,一般有两种方法,一个是splice,一个是delete: splice:删除了数组 ...