最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【洛谷題解/C++】P8881 懂事時理解原神

2023-07-13 12:43 作者:jfmd_6p  | 我要投稿

胡桃敲可愛的~

分析、實現(xiàn)

先貼上 dijkstra 求最短路的代碼:

與題中的 dfs 對比,很容易發(fā)現(xiàn)在 dijkstra 算法中,每當一個結(jié)點 v?被進行計算時,它會比較所有的前驅(qū)結(jié)點,最終留下最優(yōu)值。

但在 dfs 算法中,一個結(jié)點最多只會被計算一次。不難發(fā)現(xiàn),當一個結(jié)點有且僅有一個前驅(qū)時,dfs 算法才能正確計算最短路。

而此時圖實際上是一棵無根樹,這個 dfs 算法實際上是用來計算樹上結(jié)點深度的正解。

所以當且僅當結(jié)點 1?所在連通塊是一棵樹時,才能正確進行最短路計算。否則,一旦結(jié)點 1?所在連通塊中出現(xiàn)環(huán),環(huán)上部分節(jié)點計算必然出錯。

綜上所述,只需要對結(jié)點 1?所在連通塊檢查是否存在環(huán)即可。

(其實還有一種簡單粗暴的辦法,用 dfs 和 dijkstra 各運行一遍,比較答案。)

Code

胡桃敲可愛的~

【洛谷題解/C++】P8881 懂事時理解原神的評論 (共 條)

分享到微博請遵守國家法律
连南| 洛阳市| 广宁县| 静乐县| 凤翔县| 志丹县| 商洛市| 永福县| 涟源市| 吉安市| 哈尔滨市| 肇州县| 杭锦后旗| 甘谷县| 大足县| 南澳县| 龙游县| 津南区| 盐源县| 尤溪县| 安达市| 博湖县| 栾川县| 陈巴尔虎旗| 民勤县| 侯马市| 林甸县| 马鞍山市| 平凉市| 余干县| 晋中市| 大竹县| 灵石县| 醴陵市| 玉龙| 博湖县| 绥德县| 从江县| 怀柔区| 乡城县| 泽普县|