P4981 父子 數學,樹

2021-09-22 05:52:40 字數 961 閱讀 3909

求n

nn個點的有根樹個數。

根據c ay

le

ycayley

cayley

定理n

nn個點的有根樹個數是nn−

1n^

nn−1

證明:

先證明標號樹枝的個數

先是n

nn個沒有邊的點,加入了k

kk條邊後剩下的可以加邊的個數為n(k

−1

)n(k-1)

n(k−1)

(從任意乙個點為根,然後要連線不是這個點所在樹枝的根)

然後答案就應該是

∏ i=

1n−1

n(n−

i)=n

n−1(

n−1)

!\prod_^n(n-i)=n^(n-1)!

i=1∏n−

1​n(

n−i)

=nn−

1(n−

1)!然後不標號的話就是nn−

2n^

nn−2

推導得

n

nn個不同點的有根樹個數為nn−

1n^

nn−1

n

nn個不同點的無根樹個數為nn−

2n^

nn−2

這道題對應第1種情況

#include

#define ll long long

using

namespace std;

ll n,m,p=

1e9+

9,t;

ll qsm

(ll x,ll c)

return ans;

}int

main()

}

P4430 小猴打架 P4981 父子

當然你也可以理解為 cayley 公式,其實這個公式就是prufer編碼經過一步就能推出的 p4430 小猴打架 p4981 父子 這倆題差不多 先說父子,很顯然題目就是讓你求 n 個點的有根樹有幾條 n 個點的無根樹的 prufer 編碼有 n 2 位,且編碼和樹一一對應並且每一位可以重複 那麼就...

線段樹 P4588 TJOI2018 數學計算

這道題目,看起來只給了乙個數,與線段樹關係不大,但是將每次的操作存起來,就相當於是點更新,段查詢 乘積 這樣就可以轉化為線段樹的問題了。對於操作1,我們可以把對應的位置修改為相應值 操作2,把當前位置,和pos的位置改為1 並維護線段樹即可 includeusing namespace std co...

洛谷P1268 樹的重量 貪心,數學

題目 分析 1 貪心 先處理點1 2構成的進化樹,再把點3加進,再把點4加進,直到所有點加進。2 數學 已有點1 2 k構成的進化樹,要將點k 1加入,有以下加入法。加到點1 2的路徑中 加到點1 3的路徑中 加到點k 2 k 1的路徑中。假設加到點i j的路徑中,則新增加的數值是 m i k 1 ...