poj3463 Sightseeing dijkstra 寻找最短路的数量和次短路数量

转载 2018年04月15日 14:13:11

在dijkstra上改进

1.寻找最短路数量

       首先说一个能够记录最短路路径的方法

        1. 如果边可以松驰就用adj【to】=from,把一个点的前一个节点记录下来,下一次松弛的时候会被覆盖掉,最终覆盖掉的就是最短路上的前一个节点

        2. 用dfs找回路径 

void findway(int s)
{
    if(s==-1) return ;
    else
    {
        findway(adj[s]);
        cout<<s<<"->";
    }
    return ;
}

所以寻找最短路数量只需要在findway上加一个计时器ans++即可

2.    怎么记录次短路? 

转自

          https://blog.csdn.net/sdfzyhx/article/details/52085922

       step1.  用原本的dijkstra将真实点松弛后得到dis,构造一个虚拟的点 其中距离为dis+1 把这个虚拟点和真实点放入堆中

当拿出一个真实点,就重复step1 

当拿出一个虚拟点,也是用dijkstra 但是多了几个比较

  if (dis[x]+len[i]<dis[to[i]]-1)

这时候找到一个比虚拟点还要路径小的点,那就把虚拟点更新,记录数量,把虚拟点放回堆里

if (dis[x]+len[i]==dis[to[i]])

找到一个和虚拟点一样的真实点,记录数量,把真实点放进去

if (dis[x]+len[i]==dis[to[i]]+1)

找到比虚拟点还要长的点,记录数量,舍弃这个点,把虚拟点放回堆里

短信接口开发-php开发短信验证码接口-电商网站开发

短信接口开发是子恒老师《电商网站开发》视频教程的一个实战模块。详细讲解了用php进行短信接口的开发。内容包含短信验证码平台申请短信接口,短信签名,内容模板设置,短信验证码功能实现,60秒倒计时发短信等等。欢迎反馈,微信/QQ:68183131
  • 2016年12月06日 10:56

POJ3463 Sightseeing(dijkstra求最短路+次短路)

传送门:http://poj.org/problem?id=3463 题意:给你n个点和m条单向边,和起点s,终点t。问你从s到t的最短路和比最短路大1的路一共有几条。 思路:改造一下dijkst...
  • xtttgo
  • xtttgo
  • 2016-07-09 16:54:51
  • 237

poj 3463/hdu 1688 求次短路和最短路个数

http://poj.org/problem?id=3463 http://acm.hdu.edu.cn/showproblem.php?pid=1688
  • u012774187
  • u012774187
  • 2014-11-01 16:19:55
  • 946

Sightseeing_poj3463_dijkstra

DescriptionTour operator Your Personal Holiday organises guided bus trips across the Benelux. Every ...
  • jpwang8
  • jpwang8
  • 2016-09-16 12:31:35
  • 238

Dijkstra求最短路与次短路

花了一个晚上加上午两节课的时间来思考这个问题,一开始进了个误区,后来发现不对,找到了正确思路,现在来做个总结 最短路: 假设有如下 无向图: 每条边有权,要求从A到G的最短路,设数组d[i]用来记...
  • qq_25971709
  • qq_25971709
  • 2015-04-28 12:52:45
  • 734

poj 3463 dijkstra变形(求最短路和次短路的数量)

题意:给定一个带权有向图以及起点s和终点t,
  • dumeichen
  • dumeichen
  • 2014-10-07 20:21:59
  • 382

poj3463 Sightseeing --- dij最短路和次短路

最短路好题啊。 题目给定起点和终点,要求最短路和次短路(要求次短路只比最短路大1)的道路数量。 重点在于次短路如何处理是最高效的呢 这就要求对dij算法路径更新的理解了。 我们用一个数组记录最...
  • u011032846
  • u011032846
  • 2014-07-09 10:58:48
  • 691

poj3463 Sightseeing(最短路,次短路计数)

DescriptionTour operator Your Personal Holiday organises guided bus trips across the Benelux. Every ...
  • wu_tongtong
  • wu_tongtong
  • 2017-09-15 16:34:57
  • 128

求最短路条数之类的~~~

Flowery Trails 时间限制: 1 Sec  内存限制: 128 MB 题目描述 In order to attract more visitors, the manager of ...
  • hahaAll
  • hahaAll
  • 2016-06-03 21:58:16
  • 725

POJ 3463 Sightseeing

最短路+次短路(SPFA) 题意是要求你找出最短路的条数+与最短路只差1的次短路的条数。 开始只会算最短路的条数,和次短路的长度。真是给次短路条数跪了。ORZ。其他人都用Dijkstra。我想...
  • dongshimou
  • dongshimou
  • 2014-07-22 10:40:12
  • 713
收藏助手
不良信息举报
您举报文章:poj3463 Sightseeing dijkstra 寻找最短路的数量和次短路数量
举报原因:
原因补充:

(最多只允许输入30个字)