首页 > 其他 > 详细

hdu 5185 dp

时间:2015-03-10 14:05:24      阅读:263      评论:0      收藏:0      [点我收藏+]

hdu 5185 dp
题目:
x[1]+x[2]+x[3]+…+x[n]=n, 这里
0 <= x[i] <= n && 1 <= i <= n
x[i] <= x[i+1] <= x[i]+1 && 1 <= i <= n-1
对于一个给定的n,Gorwin想要知道有多少xi的组合满足上述等式。由于结果比较大,输出答案对m取余的结果就行。

限制:
T组数据:1 <= T <=20
1 <= n <= 50000
1 <= m <= 1e9

思路:
类似背包的dp,只是稍微变一下而已。
dp[i][j] 表示装满容量为i的背包,背包中体积最大的物品为j的方法数
dp[i][j]=dp[i-j][j-1]+dp[i-j][j]

需要注意的一点是由于题目限制,设最大的物品的体积为x,则有:
(x+1)*x/2=n,所以x最大值小于sqrt(2*n)。
所以每组数据时空复杂度都为O(50000*320)。

hdu 5185 dp

原文:http://blog.csdn.net/whai362/article/details/44173607

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!