一,加法原理与乘法原理 加法原理与乘法原理是排列与组合的基础。加法原理本质上是分类,乘法原理本质上是分步。 分类,就是把一个集合(某事物)分成互不相交的若干独立的部分。比如,概率论中的全概率公式就将事件分成”全划分“ 分类思想可以简化程序的时间复杂度。比如:最短路径算法-Dijkstra算法的应用之 ...
分类:
其他好文 时间:
2016-07-09 22:14:57
阅读次数:
255
一,介绍 本文实现带权图的最短路径算法。给定图中一个顶点,求解该顶点到图中所有其他顶点的最短路径 以及 最短路径的长度。在决定写这篇文章之前,在网上找了很多关于Dijkstra算法实现,但大部分是不带权的。不带权的Dijkstra算法要简单得多(可参考我的另一篇:无向图的最短路径算法JAVA实现); ...
分类:
编程语言 时间:
2016-07-09 10:37:54
阅读次数:
296
题意: n*m大小的矩形,起点在矩形的左上角, 终点在右下角,里面一个小矩形代表一个街区(block)。每个小矩形的边长都是2520, 小矩形的边有一个速度限制,范围是0~9, 如果是0表示这条边不能行驶。 数字表示边的限速, 符号表示这条路方向 思路:Dijkstra算法求出最短路径,主要是注意输 ...
分类:
其他好文 时间:
2016-07-03 23:11:33
阅读次数:
206
代码:https://github.com/jinhang/2016_Huawei_SoftWareMatch
前言
赛题源自“未来网络”业务发放中的路由计算问题。算路问题属于基础算法问题,在图论、网络、交通等各个方面均有着广泛的研究与运用,里面不乏一些经典的算法,例如最短路中的广度优先搜索,Dijkstra算法等。网络算路问题的更优算法实现对于网络资源高效配置具有重要价值。
本次大赛分...
分类:
其他好文 时间:
2016-06-28 23:50:36
阅读次数:
1183
传送门 dijkstra算法 O(N2) 不能处理负边权 #include<cstdio> #include<cmath> #include<cstring> #define N 1e30 //1e30=1.0*10^30 int n,m,s,t,k; double minn; int a[110] ...
分类:
其他好文 时间:
2016-06-25 09:37:08
阅读次数:
137
动态规划
动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的...
分类:
编程语言 时间:
2016-06-24 15:02:57
阅读次数:
439
建立平面图的对偶图,把最小割转化成最短路问题 Dijkstra算法堆优化 (被输入顺序搞WA了好几次T_T) ...
分类:
其他好文 时间:
2016-06-22 20:15:48
阅读次数:
239
题意:给定0-n+1个点,和m条边,让你找到一条从0到n+1的最短路,输出与0相连的结点。。。 析:很明显么,是Dijkstra算法,不过特殊的是要输出与0相连的边,所以我们倒着搜,也是从n+1找到0, 那么不就能找到与0相连的边么,注意判断相等值的时候。当时写错了好多次,就是没有考虑好边界。 代码 ...
分类:
编程语言 时间:
2016-06-12 00:22:23
阅读次数:
457
Dijkstra算法 小白说明 Dijkstra算法,书上其实说的很简洁,仔细看,仔细思考是会理解的. 如果不限制篇幅,当然可以更细致一些,那么自己按照理解,试着慢慢讲下. 一,问题: 从某个源点,到其他各点的最短路径. 注意,不要想成某一个点,到某个点的最短路径.这样的话思路不是一样的. 二,分析 ...
分类:
编程语言 时间:
2016-05-26 18:56:31
阅读次数:
186
1、问题描述 给定带权有向图G =(V,E),其中每条边的权是非负实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。 2、Dijkstra算法 Dijkstra算法是解单源最短路径问题的贪心算法。 ...
分类:
其他好文 时间:
2016-05-26 10:13:03
阅读次数:
223