动态规划 之 整数拆分问题/分堆问题
在网上无意看到的一道题,当时没想出来,后面找了找答案,发现是一个挺典型的动态规划问题,在此做一记录。问题:有n个肉丸,m个相同的碗,需要把肉丸分到这m个碗里面,求有多少种分配方式。这也相当于是整数拆分问题,即把一个整数n拆分为m个数的和。思路:起初想着能不能用概率论中的知识直接计算,后面发现算不了,只能通过递推公式以及动态规划计算。设S(n,m)是n个物体分成m堆的方法数,则有递推公式:S(n,m)=S(n−1,m−1)+S(n−m,m)S(n,m) = S(n-1,m-1) + S(n-m,m)
原创
2021-02-05 10:40:04 ·
1646 阅读 ·
0 评论