随笔分类 -  dp

摘要:完全背包。+实现俩个大数相加。http://poj.org/problem?id=3181Dollar DayzTime Limit:1000MSMemory Limit:65536KTotal Submissions:3431Accepted:1356DescriptionFarmer John goes to Dollar Days at The Cow Store and discovers an unlimited number of tools on sale. During his first visit, the tools are selling variously for $ 阅读全文
posted @ 2014-03-04 21:30 疯狂的癫子 阅读(198) 评论(0) 推荐(0)
摘要:多重背包。。。。。。悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12523Accepted Submission(s): 5292 Problem Description急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:你用有限的资金最多能采 阅读全文
posted @ 2014-02-28 19:40 疯狂的癫子 阅读(215) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=260201背包:用二维数组实现。c[n][m]表示n种物品,背包容量为m的最大价值。状态方程为:f(n,m)=max{f(n-1,m), f(n-1,m-w[n])+P(n,m)}这就是书本上写的动态规划方程. Bone CollectorTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 24513Accepted Submission(s): 9911 Pr 阅读全文
posted @ 2014-02-25 21:10 疯狂的癫子 阅读(206) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=15051506的加强,从一维变二维。 City GameTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3959Accepted Submission(s): 1651 Problem DescriptionBob is a strategy game programming specialist. In his new city building game 阅读全文
posted @ 2014-02-25 16:43 疯狂的癫子 阅读(133) 评论(0) 推荐(0)
摘要:对于每一块木板,Area=height[i]*(j-k+1)其中,j=height[i];找j,k成为关键,一般方法肯定超时,利用动态规划,如果它左边高度大于等于它本身,那么它左边的左边界一定满足这个性质,再从这个边界的左边迭代下去 http://acm.hdu.edu.cn/showproblem.php?pid=1506 Largest Rectangle in a HistogramTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 95. 阅读全文
posted @ 2014-02-23 20:48 疯狂的癫子 阅读(203) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1231之前用并查集来做的;现在用dp来做:dp的状态方程:dp[i]=max(dp[i-1]+a[i],a[i]); 最大连续子序列Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16818Accepted Submission(s): 7386 Problem Description给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列 阅读全文
posted @ 2014-02-21 20:42 疯狂的癫子 阅读(364) 评论(0) 推荐(0)
摘要:,0-1背包思路就是如果报销n张就必须报销n-1张。j表示可以报销的张数。状态方程:dp[j] = Max(dp[j], dp[j-1]+v[i]);//状态方程恶心地方:有这样的输入数据3 A:100 A:200 A:300http://acm.hdu.edu.cn/showproblem.php?pid=1864这题和最大连续子序列http://acm.hdu.edu.cn/showproblem.php?pid=1003一样的思路。 最大报销额Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/O 阅读全文
posted @ 2014-02-20 21:58 疯狂的癫子 阅读(224) 评论(0) 推荐(0)
摘要:01背包的概率问题 http://acm.hdu.edu.cn/showproblem.php?pid=2955 状态方程:dp[j]=max(dp[j],dp[j-m[i]]*1-pi[i]);思路是:当前的概率基于前一种状态的概率,即偷n家银行而不被抓的概率等于偷n-1家银行不被转的概率乘以偷第n家银行不被抓的概率。用dp[i]表示偷价值为i时不被抓的概率,则状态转移方程为: dp[j]=max(dp[j],dp[j-m[i]]*(1-p[i])); RobberiesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32. 阅读全文
posted @ 2014-02-18 16:58 疯狂的癫子 阅读(216) 评论(0) 推荐(0)