开启玄学的数论大门
前言
我只是个小蒟蒻,所以数论证明方面嘛 . . .. ..比较感性,可能不严谨
倘若有哪些大佬发现有 b u g bug bug,那欢迎提醒我
正题
因为在周末比赛时遇上了一道JZOJ 4786
此题便用到了这个知识,但上网去百度 . . .. ..
结果冒出来一堆野鸡,贴公式一个比一个熟练,但对于证明却只口未提
所以为了方便各位,便在感悟后 m a r k mark mark下
真·正题
前置
设有 n n n个小球, m m m个箱子
设 f [ i ] [ j ] f[i][j] f[i][j]表示在有 j j j个箱子的情况下放入 i i i个小球的方案数
球同,箱同,允许有空箱:
我们开始考虑动态转移方程:
我们从限制入手:允许有空箱。即可有可无,对于无的情况,假设有 j j j个箱子,我们大可以在操作前先保证每个箱子内有 1 1 1个球,所以要放入的球就从 i i i变成 i − j i-j i−j;对于有的情况,就很好考虑了。因为可以有空箱,那么就直接加上一个箱子,让 i i i个小球自己去排(因为之前的 d p dp dp必定会使其有解)。
现在动态转移方程便呼之欲出了:
{ f [ i ] [ j ] = f [ i ] [ j − 1 ] + f [ i − j ] [