【五校联考6day2】san
Description
小明經常去N 個地點,其中有些地點之間有直接的無向道路(共M 條這樣的道路),可以直接互相到達,這些道路的長短不一。由于小明對這些道路都很熟悉,無論起點和終點在哪里,總能走最短路。小明有嚴重的強迫癥,認為奇數很不和諧,如果他某一天從一個地點去另一個地點走過的路程是奇數,就會很不爽,但他又不想白白多走路,所以遇到最短路長度是奇數的情況就只能忍了。
如果從某個地點A 到另一個地點B 的最短路徑長度為奇數,則稱這條最短路徑為“不和諧最短路”。如果一條不和諧最短路上包含地點C,則稱它為“經過C 的不和諧最短路”。現在請你編程求出對于每個地點,經過它的不同的不和諧最短路數量。兩條最短路不同,當且僅當它們途徑的地點的序列不同。
Input
第一行兩個正整數N;M,含義見題面。
接下來M 行,每行三個正整數Ai;Bi;Li,表示一條無向道路的兩端和長度。
Output
N 行每行一個整數,第i 行表示經過第i 個點的不同的不和諧最短路條數。
Sample Input
4 4
1 4 1
1 2 1
3 4 100
2 3 2
Sample Output
6
4
2
2
樣例說明
長度為奇數的最短路有:1 → 2; 1 → 2 → 3; 1 → 4; 2 → 1; 3 → 2 → 1; 4 → 1。
這些路徑中四個點的經過次數分別為6, 4, 2, 2。
其它一些路,如1 → 4 → 3 不是最短路,2 → 3 是最短路但長度為2,是偶數。這些路都不計入答案。
Data Constraint
對于50% 的數據,N ≤ 100;
對于全部數據,N ≤ 1000;M ≤ 3000,每條路的長度不超過1000。
保證圖連通,無自環重邊。
.
.
.
.
.
分析
題目中的圖是一般圖,結構復雜沒有規律。考慮枚舉起點并計算單源最短路,保留所有最短路中的邊(有向),原圖就變成了一個 DAG,可以很方便地在上面進行拓撲排序,DP 等。再考慮長度為奇數的最短路,從一個點斷開,一定是一邊長度為奇數,另一邊長度為偶數。因此可以在 DAG 上 DP 計算從起點到達每個點的奇偶最短路徑分別有幾條,再逆序 DP 計算從每個點出發的奇偶最短路徑條數,在后面的 DP 過程中順便統計答案。這樣對每個起點算一遍。
復雜度 O(NM log N)。
.
.
.
.
.
程序:
轉載于:https://www.cnblogs.com/YYC-0304/p/10458932.html
總結
以上是生活随笔為你收集整理的【五校联考6day2】san的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【五校联考6day2】er
- 下一篇: 战争游戏[tarjan]