当前位置: 首页 > news >正文

云速成美站做网站好吗网站设计费用

云速成美站做网站好吗,网站设计费用,小程序代注册,python基础教程第三版有边数限制的最短路 题目描述 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。 注意:图中可…

有边数限制的最短路

题目描述

给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。

请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。

注意:图中可能 存在负权回路 。

输入格式

第一行包含三个整数n,m,k。

接下来m行,每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。

输出格式

输出一个整数,表示从1号点到n号点的最多经过k条边的最短距离。

如果不存在满足条件的路径,则输出“impossible”。

数据范围

1 ≤ n , k ≤ 500 , 1≤n,k≤500, 1n,k500,
1 ≤ m ≤ 10000 , 1≤m≤10000, 1m10000,

任意边长的绝对值不超过10000。

输入样例:3 3 1
1 2 1
2 3 1
1 3 3输出样例:3

Solution

Bellman-Ford算法

时间复杂度 O ( n m ) O(nm) O(nm), n 表示点数,m 表示边数

一般 spfa 性能比 Bellman-Ford 好,只有特殊情况下用 Bellman-Ford 算法,比如这题有边的数量的限制

  1. 思路
for n 次for 所有边 a,b,wdist[b] = min(dist[b], dist[a] + w)
  1. 解题代码
import java.util.*;
import java.io.*;class Main{// 稀疏图用邻接表来存储static int N = 510;static int M = 10010;// 存储所有边static Node[] e = new Node[M];// 存储距离起点的距离static int[] d = new int[N];// 备份 d 数组static int[] b = new int[N];static int idx = 1;// 初始化值static final int INF = 0x3f3f3f3f;public static void main(String[] args) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] s = br.readLine().split(" ");int n = Integer.parseInt(s[0]);int m = Integer.parseInt(s[1]);int k = Integer.parseInt(s[2]);for(int i = 1; i <= m; i++){s = br.readLine().split(" ");int x = Integer.parseInt(s[0]);int y = Integer.parseInt(s[1]);int z = Integer.parseInt(s[2]);e[i] = new Node(x, y, z);}bellmanFord(n, m, k);}public static void bellmanFord(int n, int m, int k){Arrays.fill(d, INF);// 起点初始化为 0d[1] = 0;// 最多 k 条边,循环限制 k 次for(int i = 0; i < k; i++){// 拷贝数组,否则会有串联问题,导致计算边的数量不准确b = Arrays.copyOf(d, N);for(int j = 1; j <= m; j++){int x = e[j].x, y = e[j].y, z = e[j].z;d[y] = Math.min(d[y], b[x] + z);}}if(d[n] > INF / 2){System.out.println("impossible");}else{System.out.println(d[n]);}}static class Node{int x, y, z;public Node(int x, int y, int z){this.x = x;this.y = y;this.z = z;}}
}
http://www.ds6.com.cn/news/89919.html

相关文章:

  • 任务一 分析电子商务网站栏目结构网络广告的形式
  • 学校网站的功能郑州网站制作公司
  • 泰安网站建设排行网站页面排名优化
  • java做的网站在线客服系统东莞网站建设推广哪家好
  • 做淘宝图片的网站山东seo推广
  • 青岛建站软件百度竞价怎么操作
  • 广州做网站哪间公司好百度获客平台怎么收费的
  • 顺德定制网站设计怎么开网站平台挣钱
  • 好用的免费网站建设seo网络优化前景怎么样
  • 广州网站建设外包建设推广线上培训机构排名前十
  • 怎样查到一些做品牌包的网站生猪价格今日猪价
  • 网站建设教程pdf百度云seo排名优化推广教程
  • 网站开发工程师seo排名优化收费
  • 网页网站开发桔子seo网
  • 水利部建设管理与质量安中心网站永久免费客服系统有哪些软件
  • wordpress博客不分页安徽网站推广优化
  • 个人网站如何制作seo千享科技
  • 做网站的开题报告怎么写游戏推广拉人渠道
  • 横沥做网站的电话seo关键词排名
  • 潮州有没有做网站的人域名停靠
  • 江西省大余县建设局网站设计好看的网站
  • 网站在工信部备案查询已备案域名30元
  • 有专门教做家具的网站百度推广登录入口下载
  • wordpress生成海报分享seo是什么专业
  • 神一般的网页设计网站个人做外贸怎样起步
  • 做网站有发展吗seo词库排行
  • php和mysql做租车网站百度指数查询工具app
  • 做物流网站的多少钱武汉网站快速排名提升
  • 织梦网站修改幻灯片深圳优化网站方法
  • 瑜伽wordpress模板鞍山seo公司