http://vijos.org/p/1082

非常有代表性的题目,在SPFA时多加一个判断即可

此题用SPFA有反例,正解搜索,此题解是错误的 (2016.11.27更改)

此问题可解所有体力+权值的最短路问题

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<vector>
#define ms(i,j) memset(i, j, sizeof(i));
using namespace std;
struct node{int u;int v;int p;int t;node(int u1,int v1, int p1,int t1) : u(u1),v(v1),p(p1),t(t1) {}
};
const int maxn = 5000 + 2, maxm = 40000 + 2;
vector<node> a[maxm];
int dis[maxn];
int ex[maxn];
int p[maxn];
int n,m,s,t,k;
queue<int> q;
int main ()
{ scanf("%d%d", &n, &m);for (int i=1;i<=m;i++){int x,y,c,d;scanf("%d%d%d%d", &x,&y,&c,&d);a[x].push_back(node(x,y,c,d));a[y].push_back(node(y,x,c,d));} scanf("%d%d%d", &s, &t, &k);//SPFAp[s] = k;ms(ex,false); ex[s]=true;ms(dis,27); dis[s]=0; dis[t]=100000000;q.push(s);while(!q.empty()){int u = q.front();q.pop();ex[u]=false;for (int i=0;i<a[u].size();i++){node pn = a[u][i];if (dis[pn.v]>dis[u]+pn.t&&p[u]>=pn.p){dis[pn.v]=dis[u]+pn.t;p[pn.v] = p[u]-pn.p;if (!ex[pn.v]){ex[pn.v] = true;q.push(pn.v);}}}}  printf("%d\n", (dis[t]==100000000) ? -1 : dis[t]);return 0;
}

转载于:https://www.cnblogs.com/flyinthesky1/p/6384335.html

|Vijos|图论最短路|P1082 丛林冒险相关推荐

  1. |Vijos|图论最短路|P1046 观光旅游

    http://vijos.org/p/1046 求个最小环,Floyd即可. #include<cstdio> #include<cstring> #include<al ...

  2. |Vijos|图论最短路|P1391 想越狱的小杉

    http://vijos.org/p/1391 SPFA,感觉不是真正意义上的SPFA.. #include<cstdio> #include<cstring> #includ ...

  3. bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集

    bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集 1.这道题我们主要就是要求出距离一个油站的最近的油站 首先我们dijkstra 求出任意一个点到 离他最近的油站的距离 2. ...

  4. 图论最短路:Bellman-Ford与其优化SPFA算法的一点理解

    文章目录 前言 一.对Bellman-Ford的深入理解 1. Bellman-Ford有什么用? 2. 什么是松弛操作? 3. Bellman-Ford的k次迭代意义? 4. 一个重要定理 5. 对 ...

  5. 【挑战程序设计】- 2.5 图论(最短路、最小生成树)

    2.5 图论(最短路.最小生成树) 文章目录 2.5 图论(最短路.最小生成树) 2.5.1 定义们 2.5.2 图的表示 2.5.3 图的搜索 2.5.4 最短路问题 单源1:bellman-for ...

  6. 【图论-最短路变形】想越狱的小杉

    [图论-最短路变形]想越狱的小杉 Time Limit:1000MS  Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...

  7. 超刺激游戏!丛林冒险全集!(flash)

    超刺激!丛林冒险(一) 你和同事正在进行录像,突然摄像师中箭倒下,现在你,要找到解救你同事的办法,并安全的逃离危险之地-- 提示:游戏中有用的物品:箱盖,钥匙,哑铃,灭火器,绳子,电瓶,长矛,锤子,解 ...

  8. 【阿良的算法之路】图论最短路算法模板

    图论: [阿良的算法之路]图论最短路算法模板 [模板]dirjkstra单源最短路径 [模板]Bellman-Ford多源最短路 [模板]Spfa求最短路 [模板]Spfa判断负环 [模板]Floya ...

  9. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

最新文章

  1. JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)
  2. 【图像分类】 图像分类中的对抗攻击是怎么回事?
  3. 你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?(上篇)
  4. arm oe linux gnueabi 系统,【技术分享】Quectel 4G模块Opencpu中实现高通wifi功能
  5. 行走在成为程序猿的道路上
  6. 用 Go 操作 MySQL 的 200 万数据时应该怎么搞?
  7. 32f407tim4时钟源频率_慎重选择时钟发生器,别让这俩指标影响你的ADC 「图片」...
  8. linux测试网络是否连通ping、telnet命令
  9. 元宇宙突然大火,可是,到底什么是元宇宙呢?
  10. javascript中五种常见的DOM方法
  11. eclipse 3.7 search 报resource is out of sync with the file system 解决方法
  12. 笔记本显示服务器,如何将笔记本电脑用作无头服务器的键盘,显示器和鼠标
  13. ASP.NET2.0入门经典(第4版)—3.5 服务器控件的类型(2)--zt
  14. 摩拜免押金;滴滴外卖订单骤降;小米最快本周 IPO | CSDN极客头条
  15. [转载]java中try 与catch的使用
  16. 现代书法脚本字体Tifany Script
  17. 外国驻广州领事馆一览表
  18. 抖音小程序服务器域名,抖音小程序使用场景、3大入口详细介绍
  19. python中函数的定义通常会从关键字_4.7. 深入 Python 函数定义
  20. Excel单元格提取数字

热门文章

  1. 如何成为更好的前端工程师?如何才能进入下一个阶段?
  2. linux系统为什么很重要,为什么Linux系统始终取代不了Windows?这4个原因80%的人不知道!...
  3. 计算机应用基础知识点.pdf,计算机应用基础知识点11.pdf
  4. kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
  5. java实现连拍_Camera2连拍相关问题
  6. 【博客大赛】100行js代码实现网站在线用户数量统计 nodejs + socket.io方案
  7. shell的单引号与双引号
  8. mysql 忘记密码处理方式
  9. 深度学习面试的一些知识
  10. Hadoop系列之Aggregate用法