hdu_2955_Robberies(01背包)

原创 2016年05月31日 21:24:59

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2955

题意:给一个概率p和n个银行,每个银行有一些钱和被抓的概率,问在满足被抓的概率在p以下,抢到的最多的钱是多少

题解:很裸的01背包,不过这里要换成钱的总量当作背包的容量,概率当作价值,维护一个最小的概率

#include<cstdio>
#define F(i,a,b) for(int i=a;i<=b;i++)

double b[110],dp[10010],mx;int t,n,v[110],sum,ans;

int main(){
	scanf("%d",&t);
	while(t--){
		scanf("%lf%d",&mx,&n),sum=0,ans=0;
		F(i,1,n)scanf("%d%lf",v+i,b+i),sum+=v[i];
		F(i,1,sum)dp[i]=1;
		F(i,1,n)for(int j=sum;j>=v[i];j--){
			if(1-(1-dp[j-v[i]])*(1-b[i])<dp[j])
			dp[j]=1-(1-dp[j-v[i]])*(1-b[i]);
			if(dp[j]<mx)ans=ans>j?ans:j;
		}
		printf("%d\n",ans);
	}
	return 0;  
}  


版权声明:CSDN感觉没博客园好用,而且还有广告,界面也不是很好看,所以换到博客园去了 新博客地址:www.cnblogs.com/bin-gege/

HDU_2955_Robberies(01背包,需动脑子)

Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota...
  • janeyane
  • janeyane
  • 2017年11月21日 22:24
  • 39

HDU_2955_Robberies(变种的01背包)

Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota...
  • baidu_29410909
  • baidu_29410909
  • 2016年07月31日 17:03
  • 243

01背包状态压缩和记录路径

01背包的状态压缩   当然肯定是看了别人的博客,我再重复一下,大神链接:点击打开链接 1、        在看之前希望你已经弄懂了空间复杂度在O(n*w)的算法,空间的压缩到O(w)的状态,其...
  • Cai_Nia
  • Cai_Nia
  • 2016年12月14日 22:55
  • 1029

01背包路径输出

确实很少遇到要求输出背包路径的题,今天无聊整理了两种方法: code:(1) #include #include #include using namespace std; int dp[1000...
  • tomorrowtodie
  • tomorrowtodie
  • 2016年04月07日 23:56
  • 1085

算法提高 01背包

问题描述   给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式   输入的第一行包含两个整数n, m,分别表示物品...
  • qq_29656961
  • qq_29656961
  • 2017年01月13日 15:16
  • 468

01背包状态方程详解

之前看过一段时间的背包,算不上学,纯属是
  • foreverlxm
  • foreverlxm
  • 2014年07月09日 00:58
  • 683

NYOJ 题目860 又见01背包 (特别版01背包)

又见01背包 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述     有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不...
  • L_BestCoder
  • L_BestCoder
  • 2016年03月06日 20:37
  • 915

01背包的两种初始化问题

前段时间看DP中的01背包问题,大部分内容都好理解,网上也有很多关于这个问题的博客,但自己提出的问题没有得到解决,只好苦思冥想,以求进一步理解。   首先是问题描述:给定n种物品和一背包,物品i的重...
  • k_young1997
  • k_young1997
  • 2017年07月25日 09:07
  • 217

01背包的递归求解

#include using namespace std; #define W 100 #define N 20 int w[N]; int v[N]; int x[N]; int knapsack...
  • liyingjie01
  • liyingjie01
  • 2016年05月16日 16:21
  • 756

[动态规划] 01背包与完全背包

01背包(每种物品的状态为选择或不选择,最多只能选1件): 1.传统的二维数组,第i件物品的重量为w[i],价值为v[i] dp[i][j]保存的是选择前i件物品(每一件物品的状态为选与不选),在...
  • sr19930829
  • sr19930829
  • 2014年11月08日 09:40
  • 2256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu_2955_Robberies(01背包)
举报原因:
原因补充:

(最多只允许输入30个字)