2013年5月10日

HDU 1203:I NEED A OFFER!

摘要: 首先想明白怎么计算概率,就是计算他的逆事件,也就是算失败概率然后用1减然后很自然的得到递推式dp[v] = min(dp[v], dp[v-c[i]]*(1-w[i])dp[v]状态的值表示当前状态下的失败概率注意dp数组初始化为1附代码HDU 1203:I NEED A OFFER!/************************************************************************* > File Name: hdu1203.cpp > Author: Shine > Created Time: 2013-05... 阅读全文

posted @ 2013-05-10 14:48 ShineCheng 阅读(164) 评论(0) 推荐(0) 编辑

HDU 2546 饭卡

摘要: 类型:01背包策略就是把最大的留起来,剩下的尽量去买到5块钱,最后用最大的买。留最大不用说。尽量买到5块钱就是一个背包问题。即 背包容量为m-5每个物品的容量=价值=菜的价格特殊判断:如果m < 5直接输出就可以证明策略正确性:假设最后买的不是最大的,设为b.最大的设为a. 其他设为C有(C+a)这个组合尽量买到5块钱 + b > (C+b)->5块钱 + a1: C+a <= m-5则 C+b <=m-5此时 C+a+b = C+b+a 假设不成立2: C+a > m-5则假设Ci + a 是其尽量买到5块钱的最优组合因为 Ci+b < m-5 (C 阅读全文

posted @ 2013-05-10 10:10 ShineCheng 阅读(166) 评论(0) 推荐(0) 编辑

导航