【BZOJ4318】OSU! 期望DP
【BZOJ4318】OSU!
Description
Input
Output
Sample Input
0.5
0.5
0.5
Sample Output
HINT
题解:期望DP,设f[i]表示期望次数,g[i]表示期望连击次数,那么第i次操作成功对答案的贡献就是
(g[i-1]+1)³-g[i-1]³=3*g[i-1]²+3*g[i-1]+1
无脑码完后发现样例都过不去,原因在于g[i-1]²并不是g[i-1]*g[i-1],因为这是一个期望值,并不是固定值
所以要用g[i-1]²把g[i]²推出来
g[i]²=g[i-1]²+2*g[i]+1
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int maxn=100010;
int n;
double p[maxn],f[maxn],g[maxn],g2[maxn];
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%lf",&p[i]);
for(i=1;i<=n;i++)
{
g[i]=p[i]*(g[i-1]+1.0);
g2[i]=p[i]*(g2[i-1]+2*g[i-1]+1.0);
f[i]=f[i-1]+p[i]*(3.0*g2[i-1]+3.0*g[i-1]+1.0);
}
printf("%.1f",f[n]);
return 0;
}
【BZOJ4318】OSU! 期望DP的更多相关文章
- CF235B Let's Play Osu! 期望DP
貌似是一道很裸的期望\(DP\).直接说思路: 设\(f[i]\)表示到\(i\)位置时的期望分数,但是只有\(f[i]\)的话我们发现是无法转移的,我们还需要知道到\(i\)位置时的期望连续长度,于 ...
- 【BZOJ】4318: OSU! 期望DP
[题意]有一个长度为n的01序列,每一段极大的连续1的价值是L^3(长度L).现在给定n个实数表示该位为1的概率,求期望总价值.n<=10^5. [算法]期望DP [题解]后缀长度是一个很关键的 ...
- bzoj 4318 OSU! —— 期望DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4318 期望DP,因为平方的期望不等于期望的平方,所以用公式递推: 第一次推错了囧,还是看这位 ...
- BZOJ 4318: OSU! 期望DP
4318: OSU! 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4318 Description osu 是一款群众喜闻乐见的休闲软件 ...
- BZOJ - 4318: OSU! (期望DP&Attention)
Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...
- BZOJ 4318 OSU! ——期望DP
这次要求$x^3$的概率和. 直接维护三个值$x$ $x^2$ $x^3$的期望. 概率的平方不等于平方的概率. #include <map> #include <ctime> ...
- BZOJ4318: OSU! (概率DP)
题意:一个串 给出每个字符为1的可能性 否则为0 一段连续的1能获得长度的立方的收益 问总收益的期望 题解:设x_i为到第i位时连续的1的期望长度 由i-1递推来的贡献 如果这一位是0没有贡献 如果是 ...
- 2018.08.30 bzoj4318: OSU!(期望dp)
传送门 简单期望dp. 感觉跟Easy差不多,就是把平方差量进阶成了立方差量,原本维护的是(x+1)2−x2" role="presentation" style=&qu ...
- 【BZOJ】4318: OSU!【期望DP】
4318: OSU! Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 1473 Solved: 1174[Submit][Status][Discuss ...
随机推荐
- 使用PsExec tool在Session 0下运行程序
在Service程序中使用OutputDebugString输出log信息, 在当前用户直接运行DbgView.exe, log信息是不会输出到DbgView窗口的.原因是Server程序运行在Ses ...
- Python isdecimal() 方法
描述 Python isdecimal() 方法检查字符串是否只包含十进制字符.这种方法只存在于unicode对象. 注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可. 语法 isd ...
- iOS中Storyboard使用要点记录
摘要: Storyboard的使用与原本单个xib文件的使用还是有些不同的,于习惯上会有些出入.在这里记下遇到的要点. 1.将第一个ViewController用设置成NavigationContro ...
- atitit. java跟php的比较..为什么大企业喜欢java 而不是php
atitit. java跟php的比较..为什么大企业喜欢java 而不是php 1. 主要原因::php是"低技术.低价格.低素质人员使用"的三低武器 1 2. 三低武器的特点( ...
- 源码分析HotSpot GC过程(二):DefNewGeneration的GC过程
由于虚拟机的分代实现,虚拟机不会考虑各个内存代如何实现垃圾回收,具体的工作(对象内存的分配也是一样)由各内存代根据垃圾回收策略自行实现. DefNewGeneration的使用复制算法进行回收.复制算 ...
- Android 开发之Android 应用程序如何调用支付宝接口
1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay ...
- PE框架学习
PE开发基础: 开发平台PowerEngine: 开发新功能: 业务逻辑处理: 1.Transaction:交易 2.Chain:链.责任链 3.Command:命令 4.Template:模板 5. ...
- Bootstrap学习笔记(9)--模态框(登录/注册弹框)
说明: 1. 上来一个ul先把登录和注册两个链接扔进去,ul的类nav,navbar-nav是导航条,navbar-right让他固定在右侧.每个li的里面,data-toggle="mod ...
- PHP——数组中的each(),list()和while循环遍历数组
.while遍历 在while()语句每次循环中,each()语句将当前数组元素的键,赋给list()函数的第一个参数变量$key.并将当前数组元素中的值,赋给list()函数中的第二个参数变量$va ...
- resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656” 有数据的会丢数据
1. resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656”,并且在/var/log ...