洛谷P1608 路徑統計(最短路計數模板)

2022-05-04 09:24:09 字數 930 閱讀 6227

傳送門

哎。。。心累。。。這道題改了好久

做法很好理解,就是運用dp的思想,設cnt[i]為到第i個點的最短路數量。

那麼對於i的每條出邊,如果zdl[i]+val=zdl[vis],說明還有另外若干條可以從i到達vis的路徑,因此cnt[vis]+=cnt[i]

大概是下圖這樣的乙個意思

當然,如果zdl[i]+val寫**的時候需要注意的幾點:

memset(63)才不會炸,如果是(127)這樣的極值的話,會出現奇奇怪怪的錯誤!!!因為這樣加起來會爆int...

spfa入隊的地方也要改變,必須放在第二個if的外面,因為有可能第乙個if會push一些點進去。

cnt陣列的值一旦把貢獻全部算好就清空,比如如下這個反例,可以手推一下。

洛谷 P1608 路徑統計

rp餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓hzh,tzy去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有n個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向的,從小鎮i到j需要花費...

洛谷 P1608 路徑統計

洛谷傳送門 rp 餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓 hzh,tzy 去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有 nn 個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向...

洛谷 P1608 路徑統計

rp餐廳 的員工素質就是不一般,在齊刷刷的算出同乙個 號碼之後,就準備讓hzh,tzy去送快餐了,他們將自己居住的城市畫了一張地圖,已知在他們的地圖上,有n個地方,而且他們目前處在標註為 1 的小鎮上,而送餐的地點在標註為 n 的小鎮。有點廢話 除此之外還知道這些道路都是單向的,從小鎮i到j需要花費...