题意:给出银行的个数和被抓概率上限。在给出每个银行的钱和抢劫这个银行被抓的概率。求不超过被抓概率上线能抢劫到最多的钱。

  dp题,转移方程 dp[i][j] = min(dp[i-1][j] , dp[i-1][j-v[i]]) ,dp[i][j]表示前 i 个银行抢劫到 j 这么多钱被抓的概率。

  初始化时 dp[0][0] = 0 , 因为 dp[0][1~n]是不可能的情况,dp[0][1~n]=-1。

 

#include<stdio.h>
#define maxn 110
#define min(a,b) (a)>(b)?(b):(a) double a[maxn];
int v[maxn];
double f[maxn][maxn*maxn];
int main()
{
int T,cas=;
int n;
double p;
int sum;
scanf("%d",&T);
while(T--)
{
sum=;
scanf("%lf%d",&p,&n);
for(int i=;i<=n;i++) scanf("%d%lf",&v[i],&a[i]),sum+=v[i];
for(int i=;i<=sum;i++) f[][i]=-;
f[][]=;
for(int i=;i<=n;i++)
for(int j=;j<=sum;j++)
{
if(j-v[i]< || f[i-][j-v[i]]<-0.5) f[i][j]=f[i-][j];
else if(f[i-][j]<) f[i][j]=f[i-][j-v[i]]+(-f[i-][j-v[i]])*a[i];
else f[i][j]=min(f[i-][j],f[i-][j-v[i]]+(-f[i-][j-v[i]])*a[i]);
}
int ans=;
for(int i=;i<=sum;i++)
if(f[n][i]>-0.5 && f[n][i]<p)
ans=i;
printf("Case %d: %d\n",cas++,ans);
}
return ;
}

lightoj 1079 Just another Robbery的更多相关文章

  1. LightOJ - 1079 Just another Robbery —— 概率、背包

    题目链接:https://vjudge.net/problem/LightOJ-1079 1079 - Just another Robbery    PDF (English) Statistics ...

  2. LightOJ 1079 Just another Robbery 概率背包

    Description As Harry Potter series is over, Harry has no job. Since he wants to make quick money, (h ...

  3. LightOJ 1079 Just another Robbery (01背包)

    题意:给定一个人抢劫每个银行的被抓的概率和该银行的钱数,问你在他在不被抓的情况下,能抢劫的最多数量. 析:01背包,用钱数作背包容量,dp[j] = max(dp[j], dp[j-a[i] * (1 ...

  4. LightOJ 1079 Just another Robbery (01背包)

    题目链接 题意:Harry Potter要去抢银行(wtf???),有n个银行,对于每个银行,抢的话,能抢到Mi单位的钱,并有pi的概率被抓到.在各个银行被抓到是独立事件.总的被抓到的概率不能超过P. ...

  5. (概率 01背包) Just another Robbery -- LightOJ -- 1079

    http://lightoj.com/volume_showproblem.php?problem=1079 Just another Robbery As Harry Potter series i ...

  6. 1079 - Just another Robbery

    1079 - Just another Robbery   PDF (English) Statistics Forum Time Limit: 4 second(s) Memory Limit: 3 ...

  7. LightOJ - 1079 概率dp

    题意:n个银行,每个有价值和被抓概率,要求找被抓概率不超过p的最大价值 题解:dp[i][j]表示前i个取j价值的所需最小概率,01背包处理,转移方程dp[i][j]=min(dp[i-1][j],d ...

  8. KUANGBIN带你飞

    KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题    //201 ...

  9. kuangbin 带你飞 概率期望

    正推不行就逆推! 经典问题:生日悖论 换成其互斥事件:m个人, 每个人生日都不相同的概率 ≤ 0.5 时最小人数. 这就是邮票收集问题的变形:每个邮票至少出现一次的概率 小于等于 0.5 邮票收集问题 ...

随机推荐

  1. opengl笔记—— glMultMatrixf() 区别 glLoadMatrixf()

    能找到最好的解释来自:http://www.gamedev.net/topic/489879-glpushmatrixglpopmatrix--glloadmatrixf/ 原理: glPushMat ...

  2. Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

    Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...

  3. 【Android Studio】studio学习系列(一) 从eclipse导入project

    Android google官方出的IDE android studio 一直都在走bate版本号,尽管如此,总认为它比ADT更加靠谱.所以我也想用studio来开发滴.可项目一直都是eclipse的 ...

  4. 数字温湿度传感器DHT11--操作源代码

    //IO定义 #define P_DataIN_DHT11 PB0_IN #define P_DataOUT_DHT11 PB0_OUT //宏定义 #define BSET_DHT11 P_Data ...

  5. MYSQL报Fatal error encountered during command execution.错误的解决方法

    {MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command executio ...

  6. asp.net页面压缩

    http压缩方法(IIS 6.0 与IIS 7.0的详解)   在网上看了有关这方面的博客,再加上自己的实践,整理了一下,希望对大家有所帮助 本片文章采用两种压缩方法:一种是在IIS上开启GZIP压缩 ...

  7. android经典Demo(转载)

    一篇不错的资源博文,转载分享给大家:   1.Android团队提供的示例项目  如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发. ...

  8. IIS出现Server Application Unavailable的解决办法

    在XP中IIS5.1服务器,运行asp.net出现Server Application Unavailable,经过多次查证,才发现是因为先安装了.net Framework 2.0然后安装IIS,导 ...

  9. VB execl文件后台代码,基础语法

    Excel宏与VBA 程序设计实验指导1 实验1 Excel宏与VBA 语法基础 一.实验目的 1.熟练掌握录制宏.执行宏.加载宏的方法: 2.熟练使用Excel VBA编辑环境,掌握VBA的编辑工具 ...

  10. 仿淘宝TAB切换搜索框

    <div class="search"> <div id="searchBox"> <ul class="tab-bar ...