划分数 (DP)
Posted C-DmLy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了划分数 (DP)相关的知识,希望对你有一定的参考价值。
输入:
n=4
m=3
M=10000
输出:
4 (1+1+2=1+3=2+2=4)
复杂度(nm)
1 int n,m; 2 int a[MAX]; 3 4 int dp[MAX][MAX]; //数组 5 6 void solve() 7 { 8 dp[0][0]=1; 9 for(int i=0; i<=m; i++){ 10 for(int j=0; j<=n; j++){ 11 if(j-i >= 0){ 12 dp[i][j]=(dp[i-1][j]+dp[i][j-i])%M; 13 } 14 else{ 15 dp[i][j]=dp[i-1][j]; 16 } 17 } 18 } 19 printf("%d\n",dp[m][n]); 20 }
以上是关于划分数 (DP)的主要内容,如果未能解决你的问题,请参考以下文章