HDU2955 01 背包变形
来源:互联网 发布:python 变量生存周期 编辑:程序博客网 时间:2024/04/30 08:45
dp[ i ][ j ]:表示从前 i 家银行中抢劫某些家,得到 j 价值 而不被抓住的概率。
dp[ j ]=max( dp[ j ],dp[ j - val[ i ] ]*( 1-w[ i ] ) ) );
将全部银行的钱当做背包的最大体积
那么每家银行的钱则当做物品的体积
那么被抓的概率当做物品的价值
那么便容易推出我们所需要的动态方程:
dp[i]=max(dp[i],(dp[i-money]*(1-rp))); // money 当前银行钱,rp 当前被抓概率
#include#includeusing namespace std;double dp[10050];int money[10050],sum,n;double rp[10050];int main(){ int t,i,j; double p; scanf("%d",&t); while(t--) { scanf("%lf%d",&p,&n); memset(dp,0,sizeof(dp)); sum=0; for(i=0;i { scanf("%d%lf",&money[i],&rp[i]); sum+=money[i]; } dp[0]=1; for(i=0;i { for(j=sum;j>=money[i];j--) { dp[j]=max(dp[j],dp[j-money[i]]*(1-rp[i])); } } for(i=sum;i>=0;i--) { if(dp[i]>1-p) { printf("%d\n",i);break; } } } // system("pause"); return 0;}
- hdu2955 01背包变形
- HDU2955 01 背包变形
- 【标记】hdu2955 经典变形01背包
- hdu2955(变形的01背包)
- hdu2955 01背包变形 菜鸟见谅
- hdu2955 小偷 01背包 简单变形
- hdu2955 Robberies 01背包的变形
- hdu2955(多重背包变形)
- 简单的背包变形HDU1203,HDU2955
- hdu2955 0-1背包变形 抢银行
- hdu2955(01背包)
- hdu2955--01背包
- hdu2955之01背包
- Robberies hdu2955 01背包
- HDU2955:Robberies(01背包)
- hdu2955(01背包)
- hdu2955 Robberies (01背包)
- hdu2955(01背包)
- Installation MEMCACHE_ENGINE for MySQL5.1
- 「ubuntu」下安装sogoupinyin
- HDU1069
- 委托的简单调用(1)
- 导航设计:关于图标式导航的改进
- HDU2955 01 背包变形
- 委托调用之把代理作为方法的参数并进行动态调用
- 复杂指针的声明
- 教新手如何把本地的msSQL数据库上传到服务器
- vs2008快捷键
- 为什么Spring控制不了事务求助各位大神?
- PKU1260
- 堆排序
- Chromium源码浅析--- Content API (一)