其他分享
首页 > 其他分享> > 整数划分问题

整数划分问题

作者:互联网

把n划分成k个正整数

设\(dp[i][j]\)表示把\(i\)划分成\(j\)个正整数的方案数

\[dp[i][j]=dp[i-j][j]+dp[i-1][j-1] \]

设\(x\)为把\(i\)划分成\(j\)个大于等于2的正整数的方案数,\(y\)为把\(i\)划分成\(j\)个正整数且其中必有1的方案数

\[dp[i][j]=x+y x=dp[i-j][j] y=dp[i-1][j-1] \]

把i-j划分成j个正整数有dp[i-j][j]种方案,每种方案与把\(i\)划分成\(j\)个大于等于2的正整数的方案一一对应。(每个数+1即可)
把i-1划分成j-1个正整数有dp[i-1][j-1]种方案,每种方案与把\(i\)划分成\(j\)个正整数且其中必有1的方案一一对应。(多划分出来的就是那个1)

把n划分成k个互异正整数

设\(dp[i][j]\)表示把\(i\)划分成\(j\)个互异正整数的方案数

标签:方案,正整数,整数,问题,划分,互异,一一对应,dp
来源: https://www.cnblogs.com/int-2147483648/p/14376347.html