一、思路

Djkstra模板 求1-N点的最短路。

二、代码

import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Scanner;public class POJ_2387 {static int[][] G = new int[1005][1005];static int[] dis = new int[1005];static boolean[] vis = new boolean[1005];static int n, m;public static void main(String[] args) {Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sc.nextInt();int u, v, w;for (int i = 0; i < m; i++) {u = sc.nextInt();v = sc.nextInt();w = sc.nextInt();if (G[u][v] == 0) {G[u][v] = G[v][u] = w;} else {G[u][v] = G[v][u] = Math.min(G[u][v], w);}}//求1-N的最短路init();dijkstra(1);System.out.println(dis[n]);}static void init() {//设置为无穷大Arrays.fill(dis, 0x3f3f3f);}static void dijkstra(int u) {dis[u] = 0;PriorityQueue<N> q = new PriorityQueue<N>();q.add(new N(0, u));while (!q.isEmpty()) {u = q.poll().v;if (vis[u]) continue; //该点若被访问,就换下一个点vis[u] = true; //标记为访问for (int v = 1; v <= n; v++) {if (!vis[v] && G[u][v] != 0 && dis[v] > dis[u] + G[u][v]) {dis[v] = dis[u] + G[u][v];q.add(new N(dis[v], v));}}}}
}
class N implements Comparable<N> {int minDis, v;public N(int minDis, int v) {this.minDis = minDis;this.v = v;}public int compareTo(N o) {if (minDis == o.minDis) return v - o.v;return minDis - o.minDis;}}

[Java] POJ 2387 最短路问题相关推荐

  1. A - Til the Cows Come Home POJ - 2387

    A - Til the Cows Come Home POJ - 2387 最短路 #include<iostream> #include<cstdio> #include&l ...

  2. DIJSPFA-Til the Cows Come Home POJ - 2387

    Til the Cows Come Home POJ - 2387 用dij和spfa写了做个对比,看了一篇很好的文章对这两个算法有了更好的理解**<Dijkstra+heap和SPFA的区别& ...

  3. POJ 2387 Til the Cows Come Home

    传送门:http://poj.org/problem?id=2387 这是最短路径问题,本题有重边,但是spfa能解决这个问题: 实现代码: SPFA: 1 #include <iostream ...

  4. Poj 2387 Til the Cows Come Home 迪杰斯特拉(普通+优化)

    Til the Cows Come Home 迪杰斯特拉(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n( ...

  5. [Java] POJ 2386

    一.思路: 求一个图中有多少个连通快即可.当发现一个点是'W'时,从这个点出发进行dfs,将他附近8个方向上的点都标记为'.',且又从这个8个方向(必须是'W')进行dfs.最终会将一个连通快全部标记 ...

  6. POJ - 2387 Til the Cows Come Home

    感觉一直写的dij堆优化都是假的,最短路板子spfa+ dij堆优化 SPFA #include<stdio.h> #include<string.h> #include< ...

  7. 【POJ - 2387】 Til the Cows Come Home(单源最短路Dijkstra算法)

    题干: Bessie is out in the field and wants to get back to the barn to get as much sleep as possible be ...

  8. poj 2387 Til the Cows Come Home dijkstra

    题意: 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n(2<=n<=1000)个地标,唯一编号为1-n.地标 ...

  9. POJ 2387 Til the Cows Come Home (最短路径 模版题 三种解法)

    原题链接:Til the Cows Come Home 题目大意:有  个点,给出从  点到  点的距离并且  和  是互相可以抵达的,问从  到  的最短距离. 题目分析:这是一道典型的最短路径模版 ...

  10. POJ 最短路问题-Dijkstra

    POJ 最短路问题集锦: Dijkstra算法: 详细介绍: http://hi.baidu.com/iotbill/item/cb5fc1de28a3e63721e250d9 Dijkstra算法是 ...

最新文章

  1. 最大子段和问题分析和总结
  2. 10本计算机视觉必读经典图书,入门篇 + 提升篇
  3. java自学难点_java学习重难点
  4. 科大星云诗社动态20210518
  5. 全视曲面屏设计,三星S8又一次走在了行业创新的最前沿
  6. 代码编辑器横评:为什么 VS Code 能拔得头筹
  7. lvs mysql 端口_LVS配置及多端口服务配置
  8. [Codevs] 1081 线段树练习 2 ----“分块!”
  9. 利用RMAN转移裸设备到文件系统
  10. AI机器视觉技术在生活中的应用
  11. 六问阿里云计算安全,全面解析阿里云ECS服务器的计算安全进化之路
  12. 所谓厉害的人,遇到问题时的思维模式与我们的差别在哪?(转自知乎)
  13. linux运行虚幻引擎4,虚幻引擎4.25开发环境如何设置
  14. 计算机网络原理 谢希仁(第8版)第一章习题答案
  15. IDEA 常用插件安装
  16. 怎么把pdf分开?pdf文件拆分为单个pdf怎么拆分?
  17. 不太会说话,怎样提高说话的技巧?
  18. 指标公式c语言源码下载,【通达信】九全指标-指标公式源码
  19. 微信公众平台开发最佳实践(第2版)
  20. 屏幕录制一键截图工具 FastStone Capture 9.0 绿色便携中文版

热门文章

  1. 自定义validator
  2. 教育培训机构小程序开发需求有哪些?
  3. 云计算就业薪资怎么样 如何加入云计算行列
  4. SAP License:ERP系统和OA系统的区别?
  5. MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
  6. [初级-详细]新大陆NewLand云平台Android离线程序开发(离线导入Moudle)
  7. SEM和SEO有什么区别,哪种更好一些
  8. java 发送短信功能_如何用Java实现短信自动发送功能
  9. Xshell远程连接服务器
  10. 忘了是出自雪中还是剑来或者就是癞蛤蟆?反正应该是烽火大太监的句子吧。还掺杂了许多别家的,记不清谁写的了,或许有西藏的佛陀