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

歡迎光臨散文網(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 懂事時理解原神的評論 (共 條)

分享到微博請遵守國家法律
吴旗县| 锡林郭勒盟| 克什克腾旗| 黑水县| 卢龙县| 泗洪县| 怀来县| 霞浦县| 奉化市| 长岭县| 邻水| 深圳市| 海门市| 石景山区| 丰镇市| 三门县| 买车| 察哈| 始兴县| 孙吴县| 天全县| 隆昌县| 潞西市| 祁东县| 江城| 临邑县| 新绛县| 河西区| 甘泉县| 且末县| 宜丰县| 永昌县| 博罗县| 安新县| 白朗县| 宝山区| 上思县| 皋兰县| 鹿邑县| 彝良县| 乐安县|