hdu I NEED A OFFER!
2024-10-10 09:05:37
这道题是道很基本的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 ;
}
最新文章
- Java实现比较版本号
- 使用CocoaPods开发并打包静态库
- AutoMapper小结
- Java [Leetcode 96]Unique Binary Search Trees
- Python练习题 004:判断某日期是该年的第几天
- Stanford parser:入门使用
- Codeforces Round #343 (Div. 2) C. Famil Door and Brackets
- 最长不下降子序列//序列dp
- 关于fedora下jdk的安装
- jsp执行数据库查询并分页
- JS跨域访问问题
- Servlet实现的三种方式
- 删除对象的某个属性 delete
- CSS设置全局字体
- python3.5opencv3图像文字标注
- 使用Python自带difflib模块进行文件内容差异对比
- Docker run 命令的使用方法
- python PIL 图像处理库简介(一)
- LA 4329 Ping pong (树状数组)
- NSOperation的使用细节 [2]