題意,問乙個數最多可以劃分為多少種,不考慮順序。
思路:設dp[i][j]表示把i劃分為j種有多少種劃法,可以把情況分為兩種,
一種每份中都不含1,把每份都減去1,相當於把i-j分為j份,即dp[i-j][j];
一種至少含乙個1,把那個1減去,相當於把i-1分為j-1份,即dp[i-1][j-1]。
所以dp[i][j]=dp[i-j][j]+dp[i-1][j-1];
#include#include#include#include#include#includeusing namespace std;
int dp[130][130];
int main()
} int n;
while(cin>>n)
printf("%d\n",sum);
} return 0;
}
hdu 1028整數劃分
1 母函式 杭州電子科技大學課件 演算法就是簡單的模擬,1 x x 2 x 3 1 x 2 x 4 x 6 1 x 3 x 6 x 9 1 1 x 2 x 4 x 6 x 1 x 2 x 4 x 6 x 2 1 x 2 x 4 x 6 1 x 3 x 6 x 9 include include in...
HDU 1028 母函式解 完全揹包解
初學母函式,練練手 母函式解 求整數n的整數拆分方法 題目理解為 將數字1 2 3 n 每個數字可以選取無限次,求能組成n的情況總數 函式 1 x x 2 x 3 1 x 2 x 4 1 x 3 x 6 x 9 第一項的意義是 取0個1,取1個1 2個1,3個1 第二項的意義是 取0個2,取1個2 ...
A 數的劃分
a 數的劃分 將整數n 分成 k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 第一行有兩個整數 n,k 6sample input 7 3 sample output 解題思路...