DP·整数划分

【题目表述】
n=m1+m2+…+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,…,mi}为n的一个划分。
如果{m1,m2,…,mi}中的最大值不超过m,即max(m1,m2,…,mi)<=m,则称它属于n的一个m划分。这里我们记n的m划分的个数为f(n,m);
举个例子,当n=5时我们可以获得以下这几种划分(注意,例子中m>=5)
5 = 5
= 4 + 1
= 3 + 2
= 3 + 1 + 1
= 2 + 2 + 1
= 2 + 1 + 1 + 1
= 1 + 1 + 1 + 1 + 1

题解~

*1、动态规划法

*2、组合数学 生成函数(母函数)法(拓展)
用指数来表示可以表示的数字,利用多项式乘法和指数的运算性质(相乘指数和相加),利用二项式定理等解决问题!!
是我前几天在知乎看到一道数学题去百度看到了一个新世界!!!
(数学太巧妙了,不禁感叹)
后来问了我的数学老师
发现和一题期中还是期末考过的数学题目的想法思路是一样的,虽然那题我错了2333
是一个abcd四个元素组成的集合映射到1,2,3,4的这个集合,问fa>=fb>=fc>=fd有几种
大家不妨可以试试!~~有人回答我就把答案公布在评论里2333

具体的大家自行百度,讲解的都很详细易懂,自学有益~~。


如1可表示的数字可写为 X^0+X^1;
2可表示的数字为X^0+X^1+X^2
依次类推
将上述式子相乘
得到当x=n时,该项的系数则是能组成该数字(指数的数字)的方案数
作为编程只要模拟一下这个过程就可以了~~
妙妙妙~!
orz感叹这是谁想出来这种生成函数的想法啊orzzzz服了
(代码回头填坑)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值