P4430 小猴打架 P4981 父子

2022-02-27 09:43:58 字數 1207 閱讀 1821

當然你也可以理解為 cayley 公式,其實這個公式就是prufer編碼經過一步就能推出的

p4430 小猴打架

p4981 父子

這倆題差不多

先說父子,很顯然題目就是讓你求\(n\)個點的有根樹有幾條

\(n\)個點的無根樹的 prufer 編碼有\(n-2\)位,且編碼和樹一一對應並且每一位可以重複

那麼就有\(n^\)種構造無根樹的方法

所以,就讓每乙個節點輪流當根,所以答案就是\(n^\times n=n^\)

#include#include#include#include#include#include#define reg register

#define en std::puts("")

#define ll long long

inline int read()

while(c>='0'&&c<='9')

return y?x:-x;

}inline ll power(ll a,ll b,ll mod)

return ret;

}int main()

return 0;

}

小猴打架那題:

一開始森林裡面有\(n\)只互不相識的小猴子,它們經常打架,但打架的雙方都必須不是好朋友。

每次打完架後,打架的雙方以及它們的好朋友就會互相認識,成為好朋友。經過\(n-1\)次打架之後,整個森林的小猴都會成為好朋友

現在的問題是,總共有多少種不同的打架過程。

比如當\(n=3\)時,就有\(\,\,\,\,\,\\)六種不同的打架過程。

這個題要求的是無根樹,但是還要算上\(n-1\)條邊被加入的不同順序

所以答案就是\((n-1)!\times n^\)

#include#include#include#include#include#include#define reg register

#define en std::puts("")

#define ll long long

inline int read()

while(c>='0'&&c<='9')

return y?x:-x;

}inline ll power(ll a,ll b,ll mod)

return ret;

}int main()

洛谷 P4430 小猴打架

洛谷 p4430 小猴打架 一開始森林裡面有n只互不相識的小猴子,它們經常打架,但打架的雙方都必須不是好朋友。每次打完架後,打架的雙方以及它們的好朋友就會互相認識,成為好朋友。經過n 1次打架之後,整個森林的小猴都會成為好朋友。現在的問題是,總共有多少種不同的打架過程。比如當n 3時,就有六種不同的...

Luogu4430 小猴打架

problem 一開始森林裡面有n只互不相識的小猴子,它們經常打架,但打架的雙方都必須不是好朋友。每次打完架後,打架的雙方以及它們的好朋友就會互相認識,成為好朋友。經過n 1次打架之後,整個森林的小猴都會成為好朋友。現在的問題是,總共有多少種不同的打架過程。比如當n 3時,就有六種不同的打架過程。乙...

luogu4430 小猴打架

假碩講了個prufer編碼和caylay公式 我為了證明prufer編碼沒用 所以用矩陣樹定理證明了caylay公式 讓我們用矩陣樹定理推一波 首先這個小猴打架最後會打成一棵樹,這棵樹是n個點的完全圖的生成樹 所以用矩陣樹定理 構建矩陣 n個點的完全圖 這是我們的鄰接矩陣 begin0 1 1 cd...