bzoj 4318 OSU!
期望dp。
考虑问题的简化版:一个数列有n个数,每位有pi的概率为1,否则为0。求以每一位结尾的全为1的后缀长度的期望。
递推就好了。
l1[i]=(l1[i-1]+1)*p[i]+0*(1-p[i]);
再考虑一发:一个数列有n个数,每位有pi的概率为1,否则为0。求以每一位结尾的全为1的后缀长度的平方的期望。
平方的期望显然不等于期望的平方。但是平方的期望也是可以递推的。
l2[i]=(l2[i-1]+2*l1[i-1]+1)*p[i]+0*(1-p[i]);
l3立方同理。
再来考虑问题,第i位的答案与第i-1位的答案的差只与后缀全为1的串有关,所以我们只需要计算前一位后缀全为1的串后再加一个1的值减掉前一位的值就行了。
ans[i]=(ans[i-1]+l3[i]/p[i]-l3[i-1])*p[i]+ans[i-1]*(1-p[i]);
l3[i]/p[i]代表的其实是确定了i位为1后的i位的期望,就直接用l1l2求就好,发现顺便把上式中的l3[i-1]消了,所以不需要求l3数组(貌似三个都不需要)。
一路递推ans数组即可。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int dian=;
double aa[dian],ans[dian],l1[dian],l2[dian];
int n;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%lf",&aa[i]);
for(int i=;i<=n;i++)
l1[i]=(l1[i-]+)*aa[i];
for(int i=;i<=n;i++)
l2[i]=(l2[i-]+*l1[i-]+)*aa[i];
for(int i=;i<=n;i++)
ans[i]=ans[i-]+(*l2[i-]+*l1[i-]+)*aa[i];
printf("%.1f",ans[n]);
return ;
}
bzoj 4318 OSU!的更多相关文章
- BZOJ 4318: OSU! 期望DP
4318: OSU! 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4318 Description osu 是一款群众喜闻乐见的休闲软件 ...
- ●BZOJ 4318 OSU!
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4318题解: 期望dp 如果我们能够得到以每个位置结尾形成的连续1的长度的相关期望,那么问题就 ...
- BZOJ 4318 OSU!(概率DP)
题意 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串.在 ...
- bzoj 4318 OSU! - 动态规划 - 概率与期望
Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...
- BZOJ - 4318: OSU! (期望DP&Attention)
Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...
- BZOJ 4318: OSU! 期望概率dp && 【BZOJ3450】【Tyvj1952】Easy 概率DP
这两道题是一样的...... 我就说一下较难的那个 OSU!: 这道15行的水题我竟然做了两节课...... 若是f[i][0]=(1-p)*f[i-1][0]+(1-p)*f[i-1][1],f[i ...
- bzoj 4318 OSU! —— 期望DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4318 期望DP,因为平方的期望不等于期望的平方,所以用公式递推: 第一次推错了囧,还是看这位 ...
- BZOJ 4318: OSU! [DP 概率]
传送门 题意:变成了告诉每个操作的成功概率,并且得分是三次方 一样....分别维护$x,\ x^2,\ x^3$的期望就行了 注意$x^3$是我们最终求的得分,即使失败得分也要累加上之前的 #incl ...
- bzoj 4318 OSU 概率期望dp
可以发现:f[i]转移到f[i+1]只和最后一串1的长度和平方有关, 因为如果新加的位置是1,贡献就是(x+1)^3-x^3=3x^2+3x+1,否则为0: 所以对于每一个位置,处理出期望的f,x和x ...
随机推荐
- ORA-01102: cannot mount database in EXCLUSIVE mode
安装完ORACEL 10g数据库后,启动数据库时遇到ORA-01102: cannot mount database in EXCLUSIVE mode [oracle@DB-Server ~]$ s ...
- 执行shell脚本,报错坏的解释器
在windows下面用editplus编写了一个shell脚本.执行时报错 "/bin/bash^M: 坏的解释器: 没有那个文件或目录 解决方法: 在终端输入sed -i 's/\r$// ...
- RAC异机恢复
RAC异机恢复PDCL到PFCL: PNCL:RAC+ASM ,product env db name:PNCL instance:PDCL1 PDCL2 PFCL:RAC+ASM ,perf ...
- mysqldump 备份命令使用中的一些经验总结
mysqldump的一个小坑(自测) 正文:经常使用接触mysql复制功能的朋友应该对mysqldump命令不陌生吧,鄙人最近也在研究学习这一块的内容,经过几天的测试,发现mysqldump使用中容易 ...
- jQuery 3.0 的 setter/getter 模式
jQuery 的 setter/getter 共用一个函数,通过是否传参来表明它是何种意义.简单说传参它是 setter,不传它是 getter. 一个函数具有多种意义在编程语言中并不罕见,比如函数重 ...
- Android APP 读取 AndroidManifest.xml 中的版本信息详解
APP都会涉及到版本的问题,Android APP的版本信息保存在AndroidManifest.xml文件的顶部.如下图: 有2个属性表示,“android:versionCode”和“androi ...
- PHP_Cli模式初涉——转载一篇
http://www.cnblogs.com/ellisonDon/archive/2012/11/19/2777523.html http://www.cnblogs.com/ellisonDon/ ...
- Leetcode: climbing stairs
July 28, 2015 Problem statement: You are climbing a stair case. It takes n steps to reach to the top ...
- 我的CS考研路
说在前面 从去年7月15号正式准备考研以来,直到今天,3月19号,一共经历8个多月,考研初步告捷,在此想跟大家分享一下自己的经验,希望能对接下来考研的学弟学妹们有所帮助. 首先介绍下我自己的情况,本科 ...
- Url和Uri的区别
URL: URL是Uniform Resoure Locator(统一资源定位器)的缩写.就是WWW页的地址. 其URL地址格式排列为:scheme://host:Port/path其中 ·Inter ...