划分数

有n个无区别的物品,将它们划分为不超过m组,求出划分方法数模M的余数。

限制条件:

1≤m≤n≤1000

2≤M≤10000

 

输入

n = 4

m = 3

M = 10000

输出

4 (1+1+2=1+3=2+2=4)

设dp[i][j]为j的i的划分总数

递推方法  dp[i][j]= dp[i][j-i]+dp[i-1][j];

让我们来看看上述两个 部分:  首先前半部分   j-i的 i划分,这个代表的意思是,在j的i划分中,若划分出的所有元素都大于0,则它的划分等于每个元素都减1的 共j-i的i划分。  后半部分,j的i-1划分,这个是当存在元素为0,则将其总划分数减一,至于为什么减一,这是因为在递推过程中可以发现减到i=0的情况,已经加入进去了。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值