摘要: ps:这两天忙着搬宿舍都快忙晕了,今天终于有空复习一下01背包问题。对动态规划不熟,方法还是看的解题报告。还是根据01背包的动态转移方程:dp[j] = max{dp[j], dp[j-c[i]] + w[i]}。只不过这里要做一下转变,将银行的总钱数作为背包容量V,每个银行的钱数作为c[i],抢每个银行不被抓住的概率作为w[i]。结构体定义struct node{ int money; double p;}r[N]动态转移方程改为:dp[j] = max{dp[j], dp[j-r[i].money]*(1-r[i].p)}。也就是求不被抓住的概率最大。代码如下:#include <. 阅读全文
posted @ 2011-08-27 19:38 AC_Von 阅读(249) 评论(0) 推荐(0) 编辑