这道题是道很基本的0/1背包的问题,为了使解题很简单一点,可以将题目中要求的最大概率转换成不能录取的最小概率,这样1-dp[n]即为至少有一个offer的最大概率。状态方程

为:dp[j]=min{dp[j],dp[j-price[i]]*chance[i]};

 #include"iostream"
#include"stdio.h"
#include"algorithm"
#include"string.h"
#include"cmath"
#include"queue"
#define mx 10005
using namespace std;
int price[mx];
double chance[mx];
double dp[mx];
int main()
{
int n,m,i,j,k;
while(cin>>n>>m,n||m)
{
for(i=;i<=m;i++)
{
cin>>price[i]>>chance[i];
chance[i]=-chance[i];
}
for(i=;i<=n;i++) dp[i]=;
for(i=;i<=m;i++)
{
for(j=n;j>=price[i];j--)
{
if(dp[j]>dp[j-price[i]]*chance[i])dp[j]=dp[j-price[i]]*chance[i];
}
}
printf("%.1lf%%\n",(-dp[n])*);
}
return ;
}

最新文章

  1. Java实现比较版本号
  2. 使用CocoaPods开发并打包静态库
  3. AutoMapper小结
  4. Java [Leetcode 96]Unique Binary Search Trees
  5. Python练习题 004:判断某日期是该年的第几天
  6. Stanford parser:入门使用
  7. Codeforces Round #343 (Div. 2) C. Famil Door and Brackets
  8. 最长不下降子序列//序列dp
  9. 关于fedora下jdk的安装
  10. jsp执行数据库查询并分页
  11. JS跨域访问问题
  12. Servlet实现的三种方式
  13. 删除对象的某个属性 delete
  14. CSS设置全局字体
  15. python3.5opencv3图像文字标注
  16. 使用Python自带difflib模块进行文件内容差异对比
  17. Docker run 命令的使用方法
  18. python PIL 图像处理库简介(一)
  19. LA 4329 Ping pong (树状数组)
  20. NSOperation的使用细节 [2]

热门文章

  1. PHP 调试用函数
  2. 【JAVA、C++】LeetCode 015 3Sum
  3. codeforces A. Vasily the Bear and Triangle 解题报告
  4. 【python】argparse模块
  5. ios学习总结(2) -- UIButton的使用
  6. mui
  7. rdesktop remember
  8. Java中栈结构的自我实现
  9. 修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题
  10. 10年程序员谈.Net程序员的职业规划(图/文) (转载)