3450: Tyvj1952 Easy

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 828  Solved: 613
[Submit][Status][Discuss]

Description

某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(
我们来简化一下这个游戏的规则
有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o。
比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20。
Sevenkplus闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有50%的可能性,用?号来表示。
比如oo?xx就是一个可能的输入。
那么WJMZBMR这场osu的期望得分是多少呢?
比如oo?xx的话,?是o的话就是oooxx => 9,是x的话就是ooxxx => 4
期望自然就是(4+9)/2 =6.5了

Input

第一行一个整数n,表示点击的个数
接下来一个字符串,每个字符都是ox?中的一个

Output

一行一个浮点数表示答案
四舍五入到小数点后4位
如果害怕精度跪建议用long double或者extended

Sample Input

4
????

Sample Output

4.1250

如果当前点是'o':前面有len个'o',那么该点对答案的贡献为2*len+1,len加1

如果当前点是'x':该点对答案的贡献为0,len初始为0

如果当前点是'?':前面有len个'o',因为有一半可能是'x',所以该点对答案的贡献为len+0.5,len变为(len+1)/2

#include<stdio.h>
char str[300005];
int main(void)
{int n, i;double ans, len;scanf("%d%s", &n, str+1);len = ans = 0;for(i=1;i<=n;i++){switch(str[i]){case 'x': len = 0; break;case 'o': ans += 2*len+1, len++;  break;case '?': ans += len+0.5, len = (len+1)/2;}}printf("%.4f\n", ans);return 0;
}

bzoj 3450: Tyvj1952 Easy(概率DP)相关推荐

  1. BZOJ 3450: Tyvj1952 Easy [DP 概率]

    传送门 题意:$ox?$组成的序列,$?$等概率为$o\ or\ x$,得分为连续的$o$的长度的平方和,求期望得分 一开始没想出来,原因在于不知道如何记录长度 其实我们同时求得分和长度的期望就好了 ...

  2. [bzoj3450]Tyvj1952 Easy[概率dp]

    和之前一样考虑这个音符时x还是o,如果是x,是否是新的连续一段,对答案的贡献是多少$(a^2-{(a-1)}^2)$,然后递推就可以了. 1 #include <bits/stdc++.h> ...

  3. bzoj 4318: OSU!(概率DP)

    4318: OSU! Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 910  Solved: 709 [Submit][Status][Discuss ...

  4. BZOJ 1426 收集邮票 ——概率DP

    $f(i)$表示现在有$i$张,买到$n$张的期望 所以$f(i)=f(i+1)+\frac {n}{n-i}$ 费用提前计算,每张邮票看做一元,然后使后面每一张加1元 $g(i)$表示当前为$i$张 ...

  5. bzoj3450 Easy(概率期望dp)

    3450: Tyvj1952 Easy Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 876  Solved: 648 [Submit][Statu ...

  6. 【BZOJ - 4318】OSU!(概率dp,数学期望,期望的线性性)

    题干: osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串. ...

  7. 【BZOJ - 3036】绿豆蛙的归宿(概率DAG图dp,拓扑排序,概率dp,期望的线性性)

    题干: 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如 ...

  8. BZOJ 3270: 博物馆 1778: 驱逐猪猡 【概率DP+高斯消元】

    题目描述: 中文题面,不多解释.1778传送门 3270 传送门 (博物馆)题目分析: 也许很多人做概率题的时候都有种虚幻感..感觉莫名其妙就得出一个期望.概率,一知半解... 所以我在这里仔细地剖析 ...

  9. 【CodeForces - 518D】Ilya and Escalator(概率dp,数学期望)

    题干: Ilya got tired of sports programming, left university and got a job in the subway. He was given ...

最新文章

  1. python基础-变量运算符(3)
  2. GPT-2:OpenAI的NLP商业化野望
  3. linux下修改/dev/shm tmpfs文件系统大小
  4. Why am I getting this error “Expected resource of type raw” in Android Studio?
  5. java--GC Root有哪些
  6. wxWidgets:使用 wxWidgets 资源文件XRC
  7. docker安装文档
  8. 大数据阶段划分及案例单词统计
  9. git小乌龟日常提交
  10. Eclipse的Servers视图中无法添加Tomcat6/Tomcat7
  11. 计算机自带扫雷游戏玩不了,Win7 32位系统扫雷游戏打不开如何解决【图文教程】...
  12. 推荐2021年最受欢迎的15款Vue后台管理模板
  13. 大白菜u盘装linux视频教程,大白菜超级U盘教你怎么装系统
  14. windows编程经典书籍+VC++学习路线资料
  15. Linux系统安装--LInix系统随笔(二)
  16. Spark删除redis千万级别set集合数据
  17. 正版免费图片编辑处理软件下载_图片处理软件
  18. 靠“小龙虾”打天下,信良记的路还走得通吗?
  19. matlab经典教程分享
  20. 免登陆免会员修改finalshell背景图(避坑版)

热门文章

  1. python数据分析-如何在业余时学数据分析?
  2. python必背入门代码-python必背内容有哪些
  3. python画折线图-python绘制简单折线图代码示例
  4. 外卖平台系统开发需要注意什么?快跑者外卖系统好吗?
  5. java md5算法_JAVA实现MD5算法
  6. 【java笔记】System类
  7. matlab二元一次方程求解_方程的计算机处理913_Matlab
  8. mysql数据库函数详解_MySQL数据库之字符函数详解
  9. linux加速度传感器校准,加速度传感器校准方法及装置与流程
  10. jQuery判断是否为对象或者数组