洛谷 - P1025 数的划分(计数dp)
生活随笔
收集整理的这篇文章主要介绍了
洛谷 - P1025 数的划分(计数dp)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目链接:点击查看
题目大意:将整数 n 分成 k 份有多少种分法
题目分析:设 dp[ i ][ j ] 为将整数 i 分成 j 份的方案数,拆分整数可以等价为放小球,相当于将 n 个小球放进 k 个盒子,最后必须保证没有空盒子的方案数,则可以其转换为两个子问题之和:
上述情况一等价于 dp[ i - 1 ][ j - 1 ],而上述情况二等价于,从每个盒子中都取出一个小球,最后将 i - j 个小球放入 j 个小球的方案数,也就是 dp[ i - j ][ j ]
所以 dp[ i ][ j ] = dp[ i - 1 ][ j - 1 ] + dp[ i - j ][ j ]
初始化的话,显然 dp[ i ][ 1 ] = 1,因为如果只有一个盒子的话,显然只有一种方法
代码:
总结
以上是生活随笔为你收集整理的洛谷 - P1025 数的划分(计数dp)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 洛谷 - P2051 [AHOI2009
- 下一篇: 2020CCPC(长春) - Stran