08 2011 档案
摘要:这道题我用的是Bellman Ford算法,用其他的最短路径算法(Floyd、Dijstra)也可。#include <iostream>#include <memory.h>using namespace std;int weight[101][101];int dis[101];int pi[101];int minTime = 10000;//最多有 100 * (100-1) 条边,每个边有两个节点int edgeStack[100 * (100-1) * 2];//Index 首字母大写,因为 index 在函数库中另有含义 int Index = 0; ..
阅读全文
摘要:其实书上写很清楚了,只是写一下自己的理解备忘,没什么技术含量。拓扑排序: TOPOLOGICAL-SORT(G) 可为有向无环图产生其拓扑排序,要证明这个算法的正确性,只要证对于任意边 (u,v),有 f[v] < f[u]。因为在TOPOLOGICAL-SORT(G)算法中,总是令 f 值较大的点排在队列的前面,即“去除”(并不是真的删掉)那些 f 值较大的点。首先,当探索到 (u,v) 这条边时,v 一定不为灰色。首先,因为 u 为灰色,所以 v 一定不为灰色。再者,若 v 为白色,那么它是 u 的后续节点,有 f[v] < f[u];如果 v 是黑色的,显然有 f[v] &l
阅读全文