hdu2955
来源:互联网 发布:数据库ip地址查询器 编辑:程序博客网 时间:2024/05/29 17:27
#include<stdio.h>#include<string.h>double max(double a,double b){return a>b?a:b;}double dp[10005];int main(){int t,i,j,sum,n,w[105];double p[105],s;scanf("%d",&t);while(t--){scanf("%lf%d",&s,&n);sum=0;memset(dp,0,sizeof(dp));for(i=0;i<n;i++){scanf("%d%lf",&w[i],&p[i]);sum+=w[i];p[i]=1-p[i];}dp[0]=1;for(i=0;i<n;i++)for(j=sum;j>=w[i];j--)dp[j]=max(dp[j],dp[j-w[i]]*p[i]); for(i=sum;i>=0;i--) if(dp[i]>=1-s) break; printf("%d\n",i);}return 0;}题意:Roy要偷银行,每个银行都有一个被抓到的概率,Roy的妈妈算出一个不被抓到的概率上限,要求求出Roy偷到最多的钱且不超过被抓到的概率上限。正难则反, 状态转移方程则为 dp[ v ] = max( dp[ v - w[ i ] ] * p[ i ] , dp[ v ] ) , dp[ v ] 表示偷到 v 元逃脱的概率, w[ i ] 表示从第 i 个银行能偷到的钱, p[ i ] 表示偷第 i 个银行逃脱的概率。
0 0
- hdu2955
- HDU2955
- HDU2955
- hdu2955
- hdu2955
- hdu2955
- HDU2955
- HDU2955
- HDU2955
- hdu2955
- HDU2955
- hdu2955
- HDU2955 Robberies
- hdu2955-Robberies
- hdu2955 Robberies
- HDU2955 Robberies
- hdu2955 Robberies
- HDU2955-Robberies
- 高效利用你的Xcode
- eclipse中Failed to install *.apk on device *: timeout的解决办法!!!
- Android环境变量的设置(详细图解版)
- hbase配置
- 13级中欧企业联合大学P-MBA开班
- hdu2955
- ulimit
- [ACM] HDU 4035 Maze (概率DP,转化方程)
- iPhone 设备查询
- ac自动机系列
- Atom介绍和安装步骤
- 背包
- 背包问题的转化
- next_permutation 实现