這道題是找有k條邊的最大生成樹,我們使用乙個並查集,再定義乙個結構體,將邊的值排序,然後開始構建最大生成樹,如果有環的話說明在乙個集合中,有公共的祖先。
#include
#include
using
namespace std;
int fa[
100001];
struct node
;node b[
100001];
intfind
(int num)
else
return num;}}
bool
cmp(node a,node b)
intmain()
sort
(b,b+m,cmp)
;int sum=
0,flag=0;
for(
int i=
1;i<=n;i++
)for
(int i=
0;i)else
} cout
}
23333一次編譯通過還有點小激動
我們可以用並查集來表示有沒有環。
洛谷 P2121 拆地毯
洛谷 p2121 拆地毯 還記得 noip 2011 提高組 day1 中的鋪地毯嗎?時光飛逝,光陰荏苒,三年過去了。組織者精心準備的頒獎典禮早已結束,留下的則是被人們踩過的地毯。請你來解決類似於鋪地毯的另乙個問題。會場上有 n 個關鍵區域,不同的關鍵區域由 m 條無向地毯彼此連線。每條地毯可由三個...
最小生成樹 p2121 拆地毯
題目描述 p2121 拆地毯 這題為什麼是最大生成樹.先來bb兩句 題目為拆地毯,讓我們剩下k個地毯.題目想要我們求得最大的美麗度.且要求我們 保留的地毯構成的圖中,任意可互相到達的兩點間只能有一種方式互相到達 很明顯,這一要求提示了我們最後結構會是一棵樹 因為樹上路徑唯一啊,qwq.然後根據正難則...
洛谷 P1003 鋪地毯
題目描述 為了準備乙個獨特的頒獎典禮,組織者在會場的一片矩形區域 可看做是平面直角座標系的第一象限 鋪上一些矩形地毯。一共有 n 張地毯,編號從 1 到n 現在將這些地毯按照編號從小到大的順序平行於座標軸先後鋪設,後鋪的地毯覆蓋在前面已經鋪好的地毯之上。地毯鋪設完成後,組織者想知道覆蓋地面某個點的最...