hdu2955 Robberies (01背包)
来源:互联网 发布:matlab 如何遍历数组 编辑:程序博客网 时间:2024/05/17 07:35
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955
最小风险概率=1-最大安全概率
状态转移方程dp[j]=max(dp[j-val[i]]*weight[i],dp[j])
#include <stdio.h>#include <string.h>#define MAXN 10002double dp[MAXN],weight[MAXN];int val[MAXN];int main(){int n,test,i,j,sum;double P;scanf("%d",&test);while(test--){scanf("%lf %d",&P,&n);P=1-P;sum=0;for(i=0;i<n;++i){scanf("%d %lf",&val[i],&weight[i]);weight[i]=1-weight[i];sum+=val[i];}memset(dp,0,sizeof(dp));dp[0]=1;//抢劫的金额为0时,肯定是安全的for(i=0;i<n;++i){for(j=sum;j>=val[i];--j)if(dp[j]<dp[j-val[i]]*weight[i])dp[j]=dp[j-val[i]]*weight[i];}for(i=sum;i>=0;--i){if(dp[i]-P>=1e-8){printf("%d\n",i);break;}}}return 0;}
- Robberies hdu2955 01背包
- HDU2955:Robberies(01背包)
- hdu2955 Robberies (01背包)
- HDU2955 Robberies 01背包
- HDU2955-Robberies-01背包
- hdu2955 Robberies --01背包
- hdu2955 01背包 Robberies
- HDU2955 Robberies(01背包)
- hdu2955 Robberies 01背包 dp
- hdu2955---Robberies(01背包)
- hdu2955 Robberies (01背包)
- hdu2955 Robberies (01背包概率)
- hdu2955 Robberies(01背包)
- hdu2955 Robberies(01背包)
- hdu2955 Robberies(01背包)
- hdu2955 Robberies(另一种01背包)
- hdu2955---Robberies(概率做01背包)
- hdu2955 Robberies 01背包的变形
- malloc与calloc
- JVM字节码初探--字节码
- adb介绍
- PythonChallenge 挑战之路 Level-29
- 三种基础的博弈知识和自己的小总结
- hdu2955 Robberies (01背包)
- 字符串移位问题
- Storm源码阅读(三):Thrift
- 树控件
- Objective-C,ios,属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- poj 1882完全背包变形
- 安卓api之高德地图API(申请高德地图apiv2)
- 寻找必败态——一类博弈问题的快速解法
- 七个高效的文本编辑习惯(以Vim为例)