题目描述

题目链接:https://www.luogu.org/problem/T89643

由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana。 某一天学校里有 n 节课,出题人希望逃掉其中一些课去玩《崩坏 学园 2》。对于第 i 节课来说,如果逃掉的话,在游戏中可以获得 vi 点积分,但是有 pi 的概率被老师发现。 现在出题人希望在逃掉这些课后被发现的概率不超过 P,并在游 戏中获得尽可能高的积分。出题人想知道自己能获得的最高积分是多 少,由于她不会算,所以希望由你告诉她。

输入格式

输入文件包括 n+1 行。 第一行包含一个正整数 n 和一个正实数 P,分别表示学校里课的 数目和被发现的概率上界。 接下来 n 行,第 i 行包含一个正整数 vi 和一个正实数 pi,表示逃 掉第i节课在游戏中可以获得vi点积分,但是有pi的概率被老师发现。 以上所有实数保留到小数点后六位。

输出格式

输出文件包括一行。 第一行包含一个正整数,表示出题人能获得的最高积分。

分析:

由于数组下标只能为整数,所以概率不能用作转移方程的下标(可能有的题乘1e5之类的转换成整数也是可行的,但此处不举(我太菜)),因此可以把概率作为f[i]的值,那i自然就是分数维度,f[i]表示的就是分数为i时的概率;下面来看概率,被发现的概率难以计算,有多种情况,因此我们可以先计算不被发现概率,再用1-即可,下面是AC代码

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1005;
int n;
double P;
double f[maxn * 10], p[maxn];//f[i]表示当积分为i时,不被发现的概率
int v[maxn];
int s;
int main() {
freopen("shuru.txt", "r", stdin);
ios::sync_with_stdio(false);
cin >> n >> P;
for (int i = 1; i <= n; i++) {
cin >> v[i] >> p[i];
s += v[i];
}
f[0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = s; j >= v[i]; j--) {//0,1背包问题滚动数组
f[j] = max(f[j], f[j - v[i]] * (1 - p[i]));
}
}
for (int i = s; i >= 0; i--) {
if ((P - (1 - f[i])) > 1e-8) {
cout << i << endl;
return 0;
}
}
}

洛谷T89643 escape的更多相关文章

  1. 洛谷T89644 palindrome回文串

    洛谷 T89643 回文串(并查集) 洛谷:https://www.luogu.org/problem/T89643 题目描述 由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana. 有一 ...

  2. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  3. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  4. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  5. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  6. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  7. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  8. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

  9. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

随机推荐

  1. mysql事务的特性?

    1.原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执 行. 2.一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的 ...

  2. P5443 [APIO2019]桥梁

    传送门 子任务 $4$ 告诉我们可以离线搞带权并查集 从大到小枚举询问,从大到小连边 如果没有修改操作就可以过了 但是有修改,考虑最暴力的暴力,搞可撤销并查集 同样先离线,从大到小处理询问时,按原边权 ...

  3. Sublime Text插件安装方法和常用插件

    插件安装方法: 1.打开Sublime Text,按下Ctrl+Shift+P调出命令面板 ; 2.输入install 调出 Install Package Control选项并回车; 3.再次按下C ...

  4. 点击按钮时,显示不同的div内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. C# 列出并删除一个文件夹下的所有MD5值相同的文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. AD转换为KiCAD的方法

    一.Altium文件转KiCad文件 本文主要介绍: 1.AD文件(SCH和PCB)转换为KiCAD的方法 2.AD封装库转换为KiCAD库的方法 下面让我们进入正题 1.1 PCB的第一种转换方式 ...

  7. javaweb各种框架组合案例(六):springboot+spring data jpa(hibernate)+restful

    一.介绍 1.springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之间 ...

  8. gay绿论第一章两点注意事项

    1.不可能事件的概率为0,但概率为0的事件不一定是不可能事件,例如从自然数中取一个数结果是1的概率,从极限角度看,分子是1,分母是∞,结果是0,但它显然是有可能发生的,所以不是不可能事件. 2.两事件 ...

  9. GDB学习笔记

    GDB是UNIX及UNIX-like下的调试工具.GDB这个调试工具相比于VC.z的优点是具有修复网络断点以及恢复链接等功能. 一.功能 一般来说,GDB主要帮助你完成下面四个方面的功能: 1.启动你 ...

  10. debian系列systemd 配置nodejs服务

    1  新建service配置文件 vi /etc/systemd/system/node.service [Unit] Description=My super nodejs app [Service ...