题目描述

osu 是一款群众喜闻乐见的休闲软件。 
我们可以把osu的规则简化与改编成以下的样子: 
一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串。在这个串中连续的 X个1可以贡献X^3 的分数,这x个1不能被其他连续的1所包含(也就是极长的一串1,具体见样例解释) 
现在给出n,以及每个操作的成功率,请你输出期望分数,输出四舍五入后保留1位小数。 

输入

第一行有一个正整数n,表示操作个数。接下去n行每行有一个[0,1]之间的实数,表示每个操作的成功率。 

输出

只有一个实数,表示答案。答案四舍五入后保留1位小数。 

样例输入

3
0.5
0.5
0.5

样例输出

6.0


题解

期望dp

若第i个时连续的为x个,则第i+1个继续连续时对答案的贡献为(x+1)^3-x^3=3*x^2+3*x+1。

那么可以开数组记录一下连续个数的期望和连续个数平方的期望。

这里需要注意的是,平方的期望不等于期望的平方(不明觉厉)。

所以平方的期望需要递推来求,方法和上面类似,很容易就推出来,不懂可以看代码。

#include <cstdio>
double f[100010] , a[100010] , b[100010];
int main()
{int n , i;double p;scanf("%d" , &n);for(i = 1 ; i <= n ; i ++ ){scanf("%lf" , &p);f[i] = f[i - 1] + (1 + 3 * a[i - 1] + 3 * b[i - 1]) * p;a[i] = (a[i - 1] + 1) * p;b[i] = (b[i - 1] + 2 * a[i - 1] + 1) * p;}printf("%.1lf\n" , f[n]);return 0;
}

转载于:https://www.cnblogs.com/GXZlegend/p/6764350.html

【bzoj4318】OSU! 期望dp相关推荐

  1. [洛谷CF235B] Let‘s Play Osu! {期望DP}

    题目 https://www.luogu.org/problemnew/show/CF235B 解题思路 跟[洛谷 1654] OSU! {期望DP}一样. 代码 #include<cstdio ...

  2. BZOJ4318: OSU! (概率DP)

    题意:一个串 给出每个字符为1的可能性 否则为0 一段连续的1能获得长度的立方的收益 问总收益的期望 题解:设x_i为到第i位时连续的1的期望长度 由i-1递推来的贡献 如果这一位是0没有贡献 如果是 ...

  3. BZOJ 4318 OSU! 期望DP

    题目大意:给定一个长度为 n n的01串,第ii个位置有 ai a_i的概率为 1 1,最终得分为01串中所有连在一起1的长度的立方和,求得分的期望 假如这个01串使确定的,考虑每新增一个位置,如果这 ...

  4. [洛谷 1365] WJMZBMR打osu! / Easy {期望DP}

    题目 https://www.luogu.org/problemnew/show/P1365 解题思路 这是我做的第三道期望DP.跟前两道的不同之处,在于它连续的一段具有不确定性且没有给出n的范围.所 ...

  5. 【BZOJ4318】OSU!【期望DP】

    题意: 有 n 个操作,有 Ai 的概率成功,连续成功 x 次 对答案的贡献是 x ^ 3,断掉就要重新记,求期望的答案  ( 期望DP )这道题和 bzoj3450一样,题意也一样,不过要注意的是平 ...

  6. WJMZBMR打osu! / Easy【期望dp】

    >Link luogu P1365 >Description 有一个长度为 n 的仅由ooo,xxx,???三个字符组成的字符串 设字符串的分数为:其中长度为 aaa 的只包含 ooo 的 ...

  7. 动态规划 —— 概率 DP 与期望 DP

    [概述] 由于概率和期望具有线性性质,使得可以在概率和期望之间建立一定的递推关系,这样就可以通过动态规划来解决一些概率问题,例如概率和期望的最值问题就常常使用概率 DP.期望 DP 来解决. 与其他的 ...

  8. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  9. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

最新文章

  1. Oralce null
  2. linux 内核 hook函数介绍
  3. 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
  4. Redhat 打开防火墙某个端口
  5. PTA-习题11-2 查找星期 (15 分)-enum
  6. C++中类和对象的一些注意事项
  7. [开源第一波]SmartScript
  8. innerHTMLinnerHTML与innerText的区别outerHTMLinnerHTML与html的区别
  9. 分享Silverlight/WPF/Windows Phone一周学习导读(4月18日-4月23日)
  10. 第一次网络渗透实验报告
  11. unable to find setter method for attribute:[commandName]
  12. steam,epic,origin限免游戏推送,持续更新
  13. Java根据信用卡号区分国际常用的五大信用卡卡种:VISA,Master,AE,DC,JCB.
  14. aName:array[0..31] of WideChar;//编译提示检测到错误类EAccessViolation//没有初始化
  15. 大数据高级开发工程师——Spark学习笔记(6)
  16. 使用百度翻译开发平台,英文翻译为中文
  17. 什么是SQL注入式攻击!如何防范SQL注入式攻击?
  18. Redis学习总结和相关资料
  19. 财务管理----记账凭证
  20. 保序加密OPE 算法 BCLO09及python仿真

热门文章

  1. python安装方法32位_【Python】pycharm安装32位win7出现的问题解决办法。
  2. postgresql根据字符分割数据为多列
  3. 免费网络推广浅析对网站首页优化的注意细节把控!
  4. 网站SEO秒收录对网站有哪些要求?
  5. 手机移动端网站建设这些细节问题需重视
  6. ajax请求的步骤,ajax请求的五个步骤
  7. php指定时间显示内容,织梦用php判断某个时间段显示和隐藏内容
  8. 智慧树插件会被发现吗_输尿管也会得肿瘤?能早期发现吗?
  9. python统计字符串中每个单词出现的次数_python中每个单词出现的次数是一组字符串?...
  10. docker 删除容器_Docker (二) Windows10专业版安装教程