ny 176 整數劃分(二) dp

2021-08-29 02:59:01 字數 727 閱讀 7033

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:3

輸入第一行是乙個整數t表示共有t組測試資料(t<=50)

每組測試資料都是兩個正整數m,n,其中(1<=n<=m<=100),分別表示要拆分的正數和拆分的正整數的個數。

輸出輸出拆分的方法的數目。

樣例輸入

2

5 25 3

樣例輸出

2

2

描述

把乙個正整數m分成n個正整數的和,有多少種分法?

例:把5分成3個正正數的和,有兩種分法:

1 1 3

1 2 2

dp[i][j] 表示整數 i 的 j 劃分。

本題的解決方法是找到乙個合理的遞推式,這個遞推式涵蓋全部的解,本題分成下面兩種:

1,如果 j 部分全部都大於1,那麼相當於 i-j 的j 劃分,即為 dp[i-j][j]

2,如果有一部分的值為1,那麼就是i-1 的j-1 劃分,即為dp[i-1]][j-1]

我的**如下(dp還在努力理解中):

#include#include#includeusing namespace std;

const int maxn = 110;

int dp[maxn][maxn] = ;

void solve()

return 0;

}

NYOJ 176 整數劃分(二) (dp)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入 第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 100 ...

nyoj 176 整數劃分(二) dp

題目鏈結 時間限制 1000 ms 記憶體限制 65535 kb 難度 3描述 把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2輸入 第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 1...

NYOJ 176 整數劃分(二)

整數劃分 二 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m...