码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5185 dp

时间:2015-03-10 14:07:32      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:algorithm   dp   

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

标签:algorithm   dp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!