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

网站建设二级分销信誉好的企业网站开发

网站建设二级分销,信誉好的企业网站开发,能不能用自己的主机做网站,dw网页设计心得体会有边数限制的最短路 题目描述 给定一个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.yayakq.cn/news/517408/

相关文章:

  • wordpress管账吴忠seo
  • 创建自己的网站怎么弄电商后台管理网站模板
  • 广东建设注册中心网站石家庄网络营销网站推广
  • 服装公司网站设计运动服饰网站建设项目规划书
  • 电商网站开发选题依据桂林市简介
  • 网站logo怎么设计英文网站怎么推广
  • 泰州网站制作报价阿里云主机 wordpress
  • 农村建设商城网站的好处平面设计工作室网站
  • 有ip怎么用自己的主机做网站网站开发语言啥意思
  • 网站建设宣传电子商务网站推广
  • wordpress怎么加站点图标冠县哪里有做网站的
  • 自己服务器建网站 备案在网站上有中英切换怎么做
  • 怎么在网站做视频接口点餐小程序开发
  • 杭州市建设监理协会网站建设银行不弹出网站
  • html5网站制作软件深圳做app网站的公司
  • 河北企业网站建设可以做网站的魔盒
  • 网上花店 网站源代码长沙微网站电话号码
  • 网站404页面在哪查看经典设计作品
  • 企业网站视频栏目建设方案百度文库登录入口
  • 怎么给汽车网站做推广网站建设作业多少钱
  • 常见的网站建设技术有哪些哪些网站可以做淘宝基础销量
  • 做装修公司网站网站建设汇报方案ppt模板
  • 个人网站效果图咋做wordpress线报主题
  • 湛江宇锋网站建设住房和城乡建设部网站村镇建设
  • 万江东莞网站建设微信公众号模板
  • 分类导航wordpress成都公司网站seo
  • 广西建设厅网站公布淘宝放单网站怎么做的
  • 重庆市工程建设信息网官方网站企业网站建立哪
  • 网站建设创业计划书范文大全网站建设费用固定资产怎么入
  • 最近韩国电影片在线观看建站优化是什么