DP-背包
xtlvice
这个作者很懒,什么都没留下…
展开
-
01背包:http://acm.hdu.edu.cn/showproblem.php?pid=2955
<br /> 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋);<br /> <br /> 正确的方程是:f[j]=max(f[j],f[j-q[i].money]*q[i].v) 其中,f[j]表示抢j块大洋的最大的逃脱概率,条件是f[j-q[i].money]可达,原创 2010-08-11 21:02:00 · 571 阅读 · 0 评论 -
最大报销额 http://acm.hdu.edu.cn/showproblem.php?pid=1864
<br /> 又一个背包问题,对于每张发票,要么报销,要么不报销,0-1背包,张数即为背包;<br /> 转移方程:f[j]=max(f[j],f[j-1]+v[i]);<br /> 恶心地方:有这样的输入数据 3 A:100 A:200 A:300#include<stdio.h> #include<string.h> int dp[7234567]; int main() { double sum,max; int check_num,n; double price[35],t原创 2010-08-11 21:18:00 · 648 阅读 · 0 评论