题目描述

题目链接: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. menustrip

    在对应菜单上点击鼠标右键,插入,SEPARATOR 就可以了,然后可以选中拖动位置.

  2. 短篇文档兼职看过来 python 课后作业 assignment project

    文档兼职 开题报告 读后感 课后作业 等 代写 编程,Java ,Python,R,等语言的,国内外课程作业指导,写作. 有经验,有作品,成交快,放心! 可联系 QQ 550987425

  3. fullpage.js版本3.0.5报错问题(licenseKey)

    在文件里搜索licenseKey,删除!不会对程序造成任何影响

  4. linux NFS 的安装准备

    关闭 iptables 和 selinux [root@allentuns ~]# service iptables stop [root@allentuns ~]# chkconfig iptabl ...

  5. 使用vue-resource请求数据的步骤

    1.需要安装 vue-resource模块 注意加上--save npm install vue-resource --save 2.main.js 引入vue-resource import Vue ...

  6. 2、Jmeter测试

    一.测试流程 1.添加本次测试计划 (右键-->添加-->Threads(Users)-->线程组) 2.设置线程数 (所谓线程数就是并发用户数) 3.在线程组内添加请求(右键--& ...

  7. 05XML

    1.XML入门 1.1 引入 HTML, 超文本标记语言. html语言语法是很松散的! 1)标签不区分大小写的! 2)标签可以不匹配的. 由w3c组织,针对html的语法缺陷,去设计了另一门,叫xm ...

  8. python struct中的pack unpack

    python struct中的pack unpack pytyon tuple元组 print struct.unpack("!ihb", buffer)  结果为7 //pyth ...

  9. ES集群health为yellow解决办法

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11766147.html Logstash导入数据后,Cerebro显示集群health的状态为yell ...

  10. nginx配置虚拟主机-端口号区分/域名区分

    Nginx实现虚拟机 可以实现在同一台服务运行多个网站,而且网站之间互相不干扰.同一个服务器可能有一个ip,网站需要使用80端口.网站的域名不同. 区分不同的网站有三种方式:ip区分.端口区分.域名区 ...