无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
凤山县| 会东县| 高台县| 昌黎县| 历史| 泰安市| 渭南市| 新疆| 子长县| 镇雄县| 贵阳市| 萨嘎县| 瑞安市| 神农架林区| 遂平县| 武穴市| 隆安县| 永泰县| 白城市| 正定县| 德江县| 阳春市| 金乡县| 睢宁县| 通河县| 万山特区| 自治县| 兴海县| 永和县| 古田县| 团风县| 政和县| 应城市| 桓台县| 宁陕县| 开化县| 永福县| 达日县| 尉犁县| 马龙县| 哈密市|