把n個物品分成m堆

2021-07-24 22:00:08 字數 985 閱讀 6265

1. 把n個相同物品分成m個相同的堆,可空設為r(

n,m)

r(n,m)=

∑mk=

1s(n

,k)

2. 把n個相同物品分成m個相同的堆,不空設為s(

n,m)

s(n,m)=

s(n−

1,m−

1)+s

(n−m

,m)

3. 把n個相同物品分成m個不同的堆,可空設為t(

n,m)

t(n,m)=

cm−1

n+m−

1 4. 把n個相同物品分成m個不同的堆,不空設為u(

n,m)

u(n,m)=

cm−1

n−1

5. 把n個不同物品分成m個相同的堆,可空設為p(

n,m)

p(n,m)=

∑mk=

1q(n

,k)貝

爾數性質:

∑∞

n=0p

(n)x

n=∏∞

k=1(

11−x

k)

應用場景:

集合劃分的方案數

6. 把n個不同物品分成m個相同的堆,不空設為q(

n,m)

q(n,m)=

mq(n

−1,m

)+q(

n−1,

m−1)

第二類斯

特靈數

應用場景:

將n個不同的元素拆分成m個集合的方案數

7. 把n個不同物品分成m個不同的堆,可空設為v(

n,m)

8. 把n個不同物品分成m個不同的堆,不空設為w(

n,m)

注:當堆不同時,可空的數就不能簡單的由不空的數做和得出。

m個數分成n個數的和

題意很簡單,有兩種想法,做題過程中,自己想到了第一種解法,但是沒能用 實現,第二種是看自己的部落格的時候,發現和斯特林數很像。對於乙個數m,分成n組,首先假定確定第一位,如果是1,則剩餘的n 1位數的和是m 1 第一位是2,剩餘的n 2位數的和是m 2 注意,這裡第一位數不能超過m n,否則會出現重...

UVA 10168 把乙個數n拆分成4個質數的和

題目連線 題目已經把題意說的很清楚了 就是把乙個數n拆成4個質數的和 資料規模是10 7,所以直接打乙個10 7的素數表是可行的 大概500ms就可以完成 思路 首先要明確以下觀點 當n小於等於7的時候不可能有解 這個道理很顯然,因為當n 8的時候可以拆成2 2 2 2 四個最小的素數了 所以n 8...

UVA714給出n個數分成m個部分,使和最大的最小

這題,小白書上有講,所以當時也沒多想直接二分,分完之後,發現有問題,他說前面的盡量小,這裡就要貪心,從後面貪心,只要和值不大於二分的值就一直二分,然後發現還是不對,看了別人的,忽略了乙個問題,二分的時候 x的初始值不能是零,因為我寫的判斷二分的函式比較特殊,所以如果判斷的值小於全部的數也能過,所以,...