dp p1025數的劃分

2022-04-02 16:43:16 字數 1087 閱讀 1985

將整數n分成k份,且每份不能為空,任意兩份不能相同(不考慮順序)。

例如:n=7,k=3,下面三種分法被認為是相同的。

1,1,5; 1,5,1; 5,1,1;

問有多少種不同的分法。 輸出乙個整數,即不同的分法。

兩個整數n,k(6乙個整數,即不同的分法。

7 3

4

四種分法為:1,1,5;1,2,4;1,3,3;2,2,3。

我竟然一眼秒了一道dp題(雖然很簡單),太開心了,o(∩_∩)o哈哈哈~

用f[i][j]表示i分成j的方案數

用樣例來解釋一下:

7 3分成j=1的情況:

7分成j=2的情況:

2 55 2

分成j=3的情況:

1 1 5=(1+1) +5

5 1 1=5+(1+1)

2 3 2=(2+3)+ 2

3 2 2=2+(2+3)

所以方程就一目了然了:

f[i][j]=f[i-1][j-1]+f[i-j][j]

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=999999999

;const

int minn=-999999999

;inline

intread()

while(c >= '

0' && c <= '

9') x = x * 10 + c - '

0', c =getchar();

return x *f;

}int

n,m;

int f[520][520];//

f[i][j]表示i分成j份的方案數

intmain()

P1025 數的劃分

將整數nn分成kk份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7n 7,k 3k 3,下面三種分法被認為是相同的。1,1,51,1,5 1,5,11,5,1 5,1,15,1,1.問有多少種不同的分法。輸入格式 n,kn,k 6輸出格式 11個整數,即不同的分法。include d...

P1025 數的劃分

展開 將整數nn分成kk份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7n 7,k 3k 3,下面三種分法被認為是相同的。1,1,51,1,5 1,5,11,5,1 5,1,15,1,1.問有多少種不同的分法。n,kn,k 611個整數,即不同的分法。四種分法為 1,1,51,1,5...

P1025 數的劃分

題目描述 將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 n,k 6輸出格式 1個整數,即不同的分法。輸入輸出樣例 輸入 1 7 3 輸出 1 說明 提示 四種分法...