nyoj 925 國王的煩惱(最小生成樹)

2021-09-08 10:24:07 字數 781 閱讀 8184

1/*2

題意:n個城市中每兩個城市有多條路徑連線,可是因為路徑存在的天數是有限的!以為某條路經不存在了

3導致n個城市不能連通了,那麼村名們就會**!問一共會有多少次**!45

思路:最小生成樹....我們用最大邊來建立樹!只要有最大邊將節點連線並保證連通!那麼邊權小的值

6就可以忽略了!最後將生成樹中由(最大邊組成的)去重(相同的值只有一次**)!這時剩下邊的數值就是

7答案了! 8*/

9 #include10 #include11 #include12 #include13 #include14

#define m 10005

15#define n 100005

16using

namespace

std;

17struct

edge;

2021

intf[n];

22int

n, m;

23int getfather(int

x)26

27bool union(int a, int

b)

33return

false;34

}3536bool

cmp(edge a, edge b)

3940

edge edge[n];

41int

xx[n];

42int

main()

56return

0; 57}

58

nyoj 925 國王的煩惱(最小生成樹)

題意 n個城市中每兩個城市有多條路徑連線,可是因為路徑存在的天數是有限的!以為某條路經不存在了 導致n個城市不能連通了,那麼村名們就會 問一共會有多少次 思路 最小生成樹.我們用最大邊來建立樹!只要有最大邊將節點連線並保證連通!那麼邊權小的值 就可以忽略了!最後將生成樹中由 最大邊組成的 去重 相同...

nyoj 925 國王的煩惱(最小生成樹)

題意 n個城市中每兩個城市有多條路徑連線,可是因為路徑存在的天數是有限的!以為某條路經不存在了 導致n個城市不能連通了,那麼村名們就會 問一共會有多少次 思路 最小生成樹.我們用最大邊來建立樹!只要有最大邊將節點連線並保證連通!那麼邊權小的值 就可以忽略了!最後將生成樹中由 最大邊組成的 去重 相同...

NYOJ 925 國王的煩惱

並查集的一道題目,不知道為何有些部落格上說成是最小生成樹,也許最小生成樹也可以解決這個問題,坎坎坷坷打完了 上交就tle,好菜啊,不過看了看自己的方法複雜度確實夠高的。看了網上的 乙個很好的想法 反向考慮,路斷變路修,同一天的算乙個。一句就解決了我的超時問題,當然對並查集也有一些改變的,我覺得自己寫...