計數DP 劃分數

2021-08-17 14:39:00 字數 565 閱讀 8379

蒜頭君特別喜歡數學。今天,蒜頭君突發奇想:如果想要把乙個正整數 n

n 分解成不多於 k

k 個正整數相加的形式,那麼一共有多少種分解的方式呢?

蒜頭君覺得這個問題實在是太難了,於是他想讓你幫幫忙。

共一行,包含兩個整數 n(1 \leq n \leq 300)n(

1≤n≤

300)

和 k(1 \leq k \leq 300)k(

1≤k≤

300)

,含義如題意所示。

乙個數字,代表所求的方案數。

樣例輸入

5 3

樣例輸出

5

#include

#include

#include

using namespace std;

long long dp[1005][1005];

long long f(int n,int m)

else//如果蘋果少了,我們第i個盤子沒法放,只能保持原有的狀況。}}

cout<>n>>m;

f(n,m);

}

計數dp 劃分數 多重集組合數

劃分數 把n個無區別的物品劃分成不超過m組。dp i j j的i劃分的總數。dp i j dp i j i dp i 1 j 即 將j個物品分成i份,有兩種情況 每份劃分都大於等於1 dp i j i 存在有乙份以上用0劃分dp i 1 j int main cout 0 多重集組合數 n種物品,第...

整數劃分 劃分數(DP動態規劃)

給你乙個正整數n,讓你計算出n的m劃分有幾種方法。思路 定義dp i j 為i的j劃分,即將i劃分為j個數字之和的方案數。1 當j i時,此時,劃分個數不超過i,此時是正常的劃分。劃分的結果一定只有兩種型別 一種是j個數字,都大於0。另一種是有0,即不夠劃分j個,用0來湊的。j個數字中存在0的,其實...

整數劃分(小結劃分數如何dp)

原 小結劃分數如何dp 1.hdu 1028 整數劃分 首先,我們引進乙個小小概念來方便描述吧,dp n m 是把自然數劃劃分成所有元素不大於m的分法,例如 當n 4,m 1時,要求所有的元素都比m小,所以劃分法只有1種 當n 4,m 2時,只有3種,當n 4,m 3時,只有4種,當n 4,m 5時...