【HDU 2955】【背包问题】Robberies
来源:互联网 发布:动画生成软件 编辑:程序博客网 时间:2024/05/16 15:24
题目大意就是一个人想要抢银行,然后给了每个银行有的钱和被抓的概率,然后他的麻麻很担心他被抓,也给出了一个不被抓概率,求不低这个概率,能抢到多少
其实就01背包,不清楚01背包可以看我博客里面的文,虽然写的很渣。
#include "stdio.h"#include "string.h"float max(float a, float b)//平时的max函数都是返回int这次返回float。忘记改了,三个点造成a不了{ return a>b?a:b;}int main(int argc, char const *argv[]){ int t,num; int v[105]; double p[105],dp[100005]; double under; scanf("%d",&t); while(t--) { int sum=0; memset(dp,0,sizeof(dp)); dp[0]=1;//当什么东西都没去偷,你自然不可能被抓住了 scanf("%lf %d",&under,&num); for (int i = 0; i < num; ++i) { scanf("%d %lf",&v[i],&p[i]);//这里给的是被抓的概率!!!不要记错了!!! sum+=v[i]; } for (int i = 0; i < num; ++i) for (int j = sum; j >= v[i]; j--) { dp[j]=max(dp[j],dp[j-v[i]]*(1-p[i]));//概率之间是乘法!!!不是加法!!果然最近智力下降的厉害 // printf("%lf\n",dp[j]); } for (int i = sum; i >= 0; i--) { //printf("%lf\n",dp[i]); if(dp[i]>=(1-under)) { printf("%d\n",i); break; } } } return 0;}
0 0
- 【HDU 2955】【背包问题】Robberies
- hdu 2955 Robberies 01背包问题
- [HDU 2955] Robberies (01背包问题)
- HDU 2955(Robberies)0-1背包问题
- HDU 2955 Robberies(01背包问题)
- hdu 2955 Robberies 01背包问题
- hdu 2955(01背包问题)Robberies
- HDU 2955 Robberies(01背包问题)
- Robberies - HDU 2955 背包
- hdu 2955 Robberies 背包
- Robberies+hdu+01背包问题
- hdu 2955 01 背包 Robberies
- hdu 2955 Robberies--01背包
- Hdu 2955 Robberies//01背包
- hdu 2955 Robberies (01背包)
- hdu 2955 Robberies 01背包
- HDU 2955 Robberies(01背包)
- HDU 2955 Robberies (01背包)
- commons-beanutils使用介绍
- 94. Binary Tree Inorder Traversal
- iOS开发UICollectionView瀑布流效果
- Linux ls -l命令的实现
- 一种记忆用户使用习惯的方法及系统
- 【HDU 2955】【背包问题】Robberies
- 【Shiro + Spring MVC整合】教程
- OC中weak/assign/strong
- ifconfig命令
- UIScrollView的contentSize、contentOffset、contentInset
- 移动数据和软件更新系统及方法
- vsftp日志xferlog格式分析
- 【USACO题库】3.2.2 Stringsobits__01串
- php冒泡排序