hdu2955 Robberies (动态规划之背包)

http://acm.hdu.edu.cn/showproblem.php?pid=2955

题意:Roy想要抢劫银行,每家银行多有一定的金额和被抓到的概率,知道Roy被抓的最大概率P,求Roy在被抓的情况下,抢劫最多。

分析:被抓概率可以转换成安全概率,Roy的安全概率大于1-P时都是安全的。抢劫的金额为0时,肯定是安全的,所以d[0]=1;其他金额初始为最危险的所以概率全为0;
注意:不要误以为精度只有两位。
View Code
 1 #include<stdio.h>
 2 #include<string.h>
 3 double MAX(double x,double y)
 4 {
 5     return x>y?x:y;
 6 }
 7 double f[10005];
 8 int main()
 9 {
10     int t,n,i,j,k,a[110],V;
11     double p,price[110];
12     scanf("%d",&t);
13     while(t--)
14     {
15         scanf("%lf%d",&p,&n);
16         V=0;
17         for(i=1;i<=n;i++)
18         {
19             scanf("%d%lf",&a[i],&price[i]);
20             price[i]=1-price[i];
21             V+=a[i];
22         }
23         f[0]=1;
24         for(i=1;i<=V;i++)
25             f[i]=0;
26         
27         for(i=1;i<=n;i++)
28         {
29             for(j=V;j>=a[i];j--)
30             {
31                 f[j]=MAX(f[j],f[j-a[i]]*price[i]);
32             }
33         }
34         double min=1;
35         j=1;
36         p=1-p;
37         for(i=V;i>=0;i--)
38         {
39             if(f[i]-p>0.000000001)
40             {
41                 j=i;
42                     printf("%d\n",j);
43                     break;
44             }
45         }
46     
47     }
48     return 0;
49 }

 

转载于:https://www.cnblogs.com/zlyblog/archive/2013/04/27/3046636.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑马Java学习笔记之-----集合框架

---------------------- android培训、java培训、期待与您交流&#xff01; ---------------------- 一&#xff0e;概述&#xff1a; Java的集合类是一种特别有用的工具类&#xff0c;它可以用于存储数量不等的多个对象&#xff08;实际上是对象的引用&#xff09;&#xff0c…

(JAVA)基本数据类型 对象包装类

package com.book.lite;/*** author zhangyu* date 2021年08月15日 4:51 下午* 基本数据类型 对象包装类* 对八个基本数据类型&#xff0c;提供8个类&#xff0c;&#xff0c;将基本数据类型&#xff0c;封装成8个对象* byte Byte* short Short* int I…

作业自动提示功能设计思路

1、利用现在FLEX项目中的心跳包机制&#xff0c;使用SOCKET心跳包技术获取最新的作业情况。 2、在现在FLEX项目中有一个&#xff1a; 核心代码&#xff1a; 这样我们可以利用这个通道&#xff0c;获取相应的信息。 具体修改步骤如下&#xff1a; 1、准备工作 创建一张表&#x…

libev源码分析--常用的watcher

在上一篇文章里&#xff0c;我们分析了libev整体设计思想和主循环的工作原理&#xff0c;也提到了watcher是衔接开发者代码的主要入口。watcher与开发者最接近&#xff0c;也与具体事件处理逻辑最接近。所以&#xff0c;watcher的具体实现&#xff0c;与性能的关系也相当密切。…

(Java)Character类

package com.book.lite;import sun.lwawt.macosx.CSystemTray;import java.util.Scanner;/*** author zhangyu* date 2021年08月16日 10:50 下午* Character类的方法* 1.判断是否小写&#xff1a;isLowerCase()* 2.判断是否大写&#xff1a;isUpperCase()* 3.判断是不是数字&am…

棋盘切割 DP POJ 1191

把方差公式先变形为 σ2 (1/n)∑xi2-xa2 xa为平均值。 由于要求标准差最小&#xff0c;只需方差最小&#xff0c;平均值都是一样的&#xff0c;n也是一样的&#xff0c;这样原问题就变为求这n快小棋盘总分的平方和最小 考虑左上角为&#xff08;x1,y1&#xff09;,右上角为&am…

lucene,lucene.net学习教程

lucene学习教程 1.1 什么是lucene Lucene是一个全文搜索框架&#xff0c;而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用&#xff0c;它只是提供了一种工具让你能实现这些产品。 2 lucene的工作方式 lucene提供的服务实际包含两部分&#xf…

python 使用 pip 安装第三方库 导入不成功

本文是什么意思呢&#xff1f; 就是你需要使用一些库安装老师或者网上说的 通过pip 安装下载了第三方库&#xff0c;但是使用 import xxx from xxx import xx &#xff0c;pycharm ide 导入的下面还有红色波浪线&#xff0c;导入不成功。 这是什么原因&#xff1f; 这是pyc…

SIFT算法

介绍这个算法的网上的博客很多&#xff0c;这个百度一下就有很多篇&#xff0c;我写一下我的认识。 前面考虑的一个图像的特征点是角点&#xff0c;这边提出了&#xff0c;图像的特征点可以是一个斑点&#xff0c;就像 明显的就是部分向日葵的原型就是一个特征&#xff0c;而这…

PHP中过滤数组中的元素

演示使用自定义函数删除数组中的偶数元素。 <?php function myfunc(&$arr){//自定义一个过滤函数$jcount($arr);for($i0;$i<$j;$i){if($arr[$i]%20)unset($arr[$i]);} }$arrarray(23,14,37,263,244,379,100,153,150);//定义一个数组 echo 数组进行过滤之前的信息&am…

Schema evolution in Avro, Protocol Buffers and Thrift

http://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html 当想要数据, 比如对象或其他类型的, 存到文件或是通过网络传输, 需要面对的问题是序列化问题 对于序列化, 当然各个语言都提供相应的包, 比如, Java serialization, Ruby’s ma…