最短路徑 最小生成樹

2021-09-16 13:58:02 字數 673 閱讀 1919

題目描述

n個城市,標號從0到n-1,m條道路,第k條道路(k從0開始)的長度為2^k,求編號為0的城市到其他城市的最短距離

輸入描述:

第一行兩個正整數n(2<=n<=100)m(m<=500),表示有n個城市,m條道路

接下來m行兩個整數,表示相連的兩個城市的編號

輸出描述:

n-1行,表示0號城市到其他城市的最短路,如果無法到達,輸出-1,數值太大的以mod 100000 的結果輸出。

示例輸入:

4 41 2

2 31 3

0 1輸出:89

11分析:2k >2k-1+2k-2+……+20

#include #include #include #include #include using namespace std;

int tree[105];

vectorg[105];

int w[105][105];

int dis[105];

bool visit[105];

int findroot(int x)

return findroot(tree[x]);

}int main()}}

for(int i=1;i}

return 0;

}

最短路徑 最小生成樹

今天覆習的時候,剛好複習的這一塊,所以就簡單做乙個備忘,寫的潦草還望大家不要介意呀 1 dijistra演算法 思路 根據點集合將其分為兩個集合,一種是已經訪問過的點s集合 代表從源點到該集合中的點的距離最小 另一種是未訪問過的u集合,然後每次從u集合中選擇節點,使得源點到改點的距離最小,並新增進s...

最短路徑,最短路徑樹和最小生成樹

首先介紹這三個概念,很多人都聽過最短路徑了,但是最短路徑樹卻很少聽過,關於最短路徑樹的介紹也不太多。而最短路徑樹和最小生成樹更是完全不同的兩個概念。最短路徑就是從乙個指定的頂點出發,計算從該頂點出發到其他所有頂點的最短路徑。通常用dijkstra演算法,floyd演算法求解。最短路徑樹spt sho...

最小生成樹和最短路徑

這篇算作是 演算法 第四版部分讀後感吧 我思考這個問題的開始就是糾結最小生成樹prim演算法和最短路徑dijkstra演算法的異同 1.最小生成樹prim演算法 直接從例子開始吧,我們考慮一副這樣的圖 1.將d設為起始點 設定某個點為起始點是隨機的 考慮與它相鄰節點的權重值,圖中黃色節點,也就是d ...