题目描述

题目链接: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. 小白学Python(17)——pyecharts 日历图 Calendar

    Calendar-2017年微信步数情况 import datetime import random from pyecharts import options as opts from pyecha ...

  2. 广告URL

    讨厌的csdn 广告,百度搜索了一次,csdn cookie广告追了你好几年还有... 把下面的url 重定向127.0.0.1  ,只记录了百度广告,部分阿里的广告,其他还未记录 虽然也用Adblo ...

  3. Lambda创建表达式目录树

    一,如下代码: using System; using System.Linq.Expressions; namespace Demo { class Program { static void Ma ...

  4. 前端与后端数据交互的方式之ajax

    前端与后端数据交互的方式之Ajax 对于前端学习而言,CSS+HTML+JavaScript的学习在自我学习的情况下掌握也不是很难,但是想要实现前后端的数据交互在没有指导的情况下学习会是一头雾水.接下 ...

  5. Python + logging输出到屏幕,将log日志写入到文件

    logging提供了一组便利的函数,用来做简单的日志.它们是 debug(). info(). warning(). error() 和 critical(). logging函数根据它们用来跟踪的事 ...

  6. [BJWC2010]严格次小生成树(LCA,最小生成树)

    [BJWC2010]严格次小生成树 题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说,让小C求出一个无向图 ...

  7. IncDec Sequence (差分)

    题目地址 这道题可以用来检测一下你是否学会了差分,或者你可以更加透彻的理解差分 我们把 \(cf[]\) (差分)数组拿出了,就可以发现这道题就是每次可以在 \(cf[]\)中 选两个数,一个+1,一 ...

  8. 线程工具类 - Semaphore(信号量)

    Semaphore官方文档 一.使用信号量实现线程间的通信 /** * Demo:使用信号量实现线程间通信*/ public class SemaphoreDemo { public static v ...

  9. TreeMap和Comparable接口

    备注:HashMap线程不安全,效率高,允许key.value为空 HasTable线程安全.效率低.不允许key或value为空 TreeMap在存储时会自动调用comparable方法进行排序,当 ...

  10. prototype的用法

    定义: prototype 属性使您有能力向对象添加属性和方法. 语法: object.prototype.name=value 实例: function prot(){ this.name = 'J ...