划分数

来源:互联网 发布:大恒软件 编辑:程序博客网 时间:2024/05/16 19:12

不是很理解,先放个板子在这吧

dp[i][j]:j的i划分,即将j划分成不超过i组.

状态转移方程dp[i][j]=dp[i][j-i]+dp[i-1][j]

//将n划分成m组#include<bits/stdc++.h>using namespace std;int dp[1010][1010];int main(){    int i,j,k,n,m;    scanf("%d%d",&n,&m);    dp[0][0]=1;    for(i=1;i<=m;i++){        for(j=0;j<=n;j++){            if(j>=i){                dp[i][j]=dp[i-1][j]+dp[i][j-i];            }else {                dp[i][j]=dp[i-1][j];            }        }    }    printf("%d\n",dp[m][n]);    return 0;}


原创粉丝点击