hdu2955 robberies题解(01背包)
来源:互联网 发布:网管软件限速 编辑:程序博客网 时间:2024/06/09 09:12
注意要先转换成不被抓的概率再来算
状态转移方程money[k]=max(money[k],money[k-M[i]]*p[i])//这里的p[i]是不被抓的概率。
#include <stdio.h>#include <string.h>#define Max(X,Y) ((X)<(Y)?(Y):(X))double money[10050];int main(int argc, char const *argv[]){ double P,p[101]; int T,N,M[101],i,k,maxn; scanf("%d",&T); while(T--){ scanf("%lf %d",&P,&N); maxn=0;P=1-P;//不被抓的概率 for(i=0;i<N;i++){scanf("%d %lf",M+i,p+i);maxn+=M[i];p[i]=1.0-p[i];} memset(money,0,sizeof(money)); money[0]=1.0; for(i=0;i<N;i++) for(k=maxn;k>=M[i];k--) if(money[k-M[i]]*p[i]>=P) money[k]=Max(money[k],money[k-M[i]]*p[i]); for(k=maxn;k>=0;k--) if(money[k]>=P) {printf("%d\n",k );break;} } return 0;}
0 0
- hdu2955 robberies题解(01背包)
- hdu2955 Robberies(01背包)题解
- hdu2955---Robberies(01背包)
- hdu2955 Robberies (01背包)
- hdu2955 Robberies(01背包)
- hdu2955 Robberies(01背包)
- hdu2955 Robberies(01背包)
- Robberies hdu2955 01背包
- HDU2955:Robberies(01背包)
- hdu2955 Robberies (01背包)
- HDU2955 Robberies 01背包
- HDU2955-Robberies-01背包
- hdu2955 Robberies --01背包
- hdu2955 01背包 Robberies
- HDU2955 Robberies(01背包)
- hdu2955 — Robberies (01背包)
- hdu2955-Robberies(01背包 概率 )
- hdu2955 Robberies 01背包 dp
- Mac OS 简易安装redis
- Easy-题目69:342. Power of Four(增补2)
- iOS之UIView的用法
- ActiveMQ源码解析(一):聊聊broker
- svn教程及下载地址
- hdu2955 robberies题解(01背包)
- $.post与$.ajax的用法区别
- U3D Distortion
- ACdream 1071 神奇的%系列一
- 指定页面调用文章ECSHOP
- 机器学习之感知机
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 负载均衡和高可用性
- 1018 Problem R