题目描述

题目链接: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. vs2015上编译QT程序的环境搭建

    下载相对应版本的QT(以QT5.7.0为例),进入网站http://download.qt.io/archive/qt/5.7/5.7.0/,下载MSVC版本QT,我的系统是64位,VS版本是2015 ...

  2. HDU 6603 Azshara's deep sea(凸包+区间DP)

    由于题目要求,首先维护出一个凸包,然后在凸包上寻找点对关系,用rel[i][j]表示i点和j点之间是否可以连线,又由于维护出来的凸包上的点的个数不多,可以直接枚举点对并枚举所有圆,判断两点直线和圆是否 ...

  3. CSRF verification failed. Request aborted.错误解决办法

    在Django项目的页面,提交form表单POST请求时,会出现报错:CSRF verification failed. Request aborted. 需要在form表单中加:{% csrf_to ...

  4. Spring事务管理之几种方式实现事务(转)

    一:事务认识 大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销.Spring事务管理基于底层数据库本身的事务处理机制.数据库事务的基础,是掌握Spring ...

  5. EA逆向生成数据库E-R图(mysql数据库-->ER图)

    [1]选择 工具-->ODBC-Data-Sources [2]ODBC数据源管理器  ,点击添加 [3]选择一个mysql驱动  ,点击MySQL ODBC 5.1 Driver(其它同理), ...

  6. 自定义django中间件

    自定义中间件 第一步:在根目录创建路径Middle/m1.py(注意如果是python2的话Middle下要有__init__.py文件,不然会报找不到模块错误) m1.py的内容: # -*- co ...

  7. Mongodb副本集实现及读写分离

    前言 地址:https://blog.csdn.net/majinggogogo/article/details/51586409 作者介绍了,mongodb副本集的读写原理,原理是通过代码层来实现. ...

  8. java并发学习--第一章 线程的创建

    所谓的并发就是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行.所以我们看似几个线程在同时进行,其实在操作系统中 ...

  9. bzoj2325 [ZJOI2011]道馆之战 树链剖分+DP+类线段树最大字段和

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2325 题解 可以参考线段树动态维护最大子段和的做法. 对于线段树上每个节点 \(o\),维护 ...

  10. 雷哥带你了解webSocket原理

    偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有.所以转到我博客里,分享一下.比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗 ...