洛谷T89643 escape
题目描述
题目链接: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的更多相关文章
- 洛谷T89644 palindrome回文串
洛谷 T89643 回文串(并查集) 洛谷:https://www.luogu.org/problem/T89643 题目描述 由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana. 有一 ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
- 洛谷P1538迎春舞会之数字舞蹈
题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
随机推荐
- PL/SQL Developer工具
安装好Oracle以后我们发现在控制台来操作数据库很繁琐,而且也不方便阅读.所以,我们就要用到PL/SQL Developer工具,以达到能更好的操作数据库的目的. PL/SQL Developer简 ...
- BZOJ1185[HNOI2007] 最小矩形覆盖(旋转卡壳)
BZOJ1185[HNOI2007] 最小矩形覆盖 题面 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点的坐标 分析 首先可以先求凸包,因为覆盖了凸包上的顶点,凸 ...
- weight (搜索对象的选取)
#10249. 「一本通 1.3 例 5」weight [题目描述] 已知原数列 $a_1,a_2,\cdots,a_n$ 中的前 1项,前 2 项,前3项, $\cdots$ ,前 n 项的和, ...
- [ASP.NET Core 3框架揭秘] 依赖注入:IoC模式
原文:[ASP.NET Core 3框架揭秘] 依赖注入:IoC模式 正如我们在<依赖注入:控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式”,实际上IoC不仅与面向对象没 ...
- 箭头函数的this指向问题
this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this,所以也就不能用作构造函数 ...
- C++ 编译器的安装(MinGW)
GNU GNU是一个自由软件工程项目,GNU工程已经开发了一个被称为“GNU”(GNU是“不是UNIX”的缩写)的.对Unix向上兼容的完整的自由软件系统(free software system). ...
- R语言抽样的问题
基本抽样函数sample sample(x,size,replace=F/T) x是数据集, size规定了从对象中抽出多少个数 replace 为F时候,表示每次抽取后的数就不能在下一次被抽取:T ...
- JS删除对象中的某一属性(delete)
var obj= {} 1.JS对象添加新属性 obj.address="shenzhen" 2.JS删除对象中的某一属性(delete) var obj= { height: , ...
- Swagger详解(SpringBoot+Swagger集成)(转)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ai_miracle/article/de ...
- Spring如何解决循环依赖问题
目录 1. 什么是循环依赖? 2. 怎么检测是否存在循环依赖 3. Spring怎么解决循环依赖 本文主要是分析Spring bean的循环依赖,以及Spring的解决方式. 通过这种解决方式,我们可 ...