整数拆分问题
第一种
给定n,求把n拆分成若干个不相等的数的方案数。
设表示把j拆成i个数。
考虑要不要新添加一个数,并把之前的数全部加一。
由于数不相等,数的个数不超过
那么时空复杂度
第二种
我写的很简略,这里有pty的详细解释
给定n,求把n拆分成若干个数的方案数,可以相同。
我们要使用到广义五边形数。
五边形数(非广义)长这样。形如(盗图)(逃
广义五边形数是,
前几项是0,1,2,3,5,7,12,15,22
设为拆分方案数
五边形数定理:
其中P(0)=1,n小于0时P为0。
那么P的递推式是
注意到k的级别是的,那么时间复杂度也是