WJMZBMR打osu! / Easy
有一个由o,x,?组成的长度为n的序列,?等概率变为o,x,定义序列权值为连续o的长度o的平方之和,询问权值的期望,
解
注意到权值不是简单的累加关系,存在平方,所以我们需要变式,而递推的权值必须是连续的,于是我们得设\(g\)表示以x-1结尾的连续o的期望长度,设\(f[x]\)表示前x个的权值期望,设s[x]为x处的字符,因此我们不难有
\]
\]
\]
注意到数据范围缺失,于是开滚动数组即可。
参考代码:
#include <iostream>
#include <cstdio>
#define il inline
#define ri register
using namespace std;
double f[2],g[2];
il void get(char&);
int main(){
int n;char c;
bool now(false);
scanf("%d",&n);
while(n--){
get(c),now^=1;
switch(c){
case 'o':
f[now]=f[now^1]+2*g[now^1]+1;
g[now]=g[now^1]+1;
break;
case 'x':
f[now]=f[now^1],g[now]=0;
break;
case '?':
f[now]=f[now^1]+g[now^1]+0.5;
g[now]=g[now^1]/2+0.5;
break;
}
}printf("%.4lf",f[now]);
return 0;
}
il void get(char &c){
while(c=getchar(),c==' '||c=='\n'||c=='\r');
}
WJMZBMR打osu! / Easy的更多相关文章
- [Luogu1365] WJMZBMR打osu! / Easy
Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有 \(n\) 次点击要做,成功了就是o,失败了就是x,分数是按com ...
- P1365 WJMZBMR打osu! / Easy
题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有 nnn 次点击要做,成功了就是o,失败了 ...
- 洛谷 P1365 WJMZBMR打osu! / Easy
题目背景 原 维护队列 参见P1903 题目描述 某一天\(WJMZBMR\)在打\(osu~~~\)但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有\(n\)次点击要做,成功 ...
- luogu P1365 WJMZBMR打osu! / Easy(期望DP)
题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有nnn次点击要做,成功了就是o,失败了就是 ...
- Luogu P1365 WJMZBMR打osu! / Easy
概率期望专题首杀-- 毒瘤dp 首先根据数据范围推断出复杂度在O(n)左右 但不管怎么想都是n^2-- 晚上躺在床上吃东西的时候(误)想到之前有几道dp题是通过前缀和优化的 而期望的可加性又似乎为此创 ...
- 洛谷 1365 WJMZBMR打osu! / Easy
题目:https://www.luogu.org/problemnew/show/P1365 大水题.记录一下o的期望长度. 关键是(x+1)^2=x^2+2*x+1. #include<ios ...
- [BZOJ4318] WJMZBMR打osu! / Easy (期望DP)
题目链接 Solution Wa,我是真的被期望折服了,感觉这道题拿来练手正好. DP的难度可做又巧妙... 我们定义: \(f[i]\) 代表到第 \(i\) 次点击的时候的最大答案. \(g[i] ...
- 洛谷P1365 WJMZBMR打osu! / Easy——期望DP
题目:https://www.luogu.org/problemnew/show/P1365 平方和怎样递推? 其实就是 (x+1)^2 = x^2 + 2*x + 1: 所以我们要关注这里的 x — ...
- P1365 WJMZBMR打osu! / Easy-洛谷luogu
传送门 题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有nn次点击要做,成功了就是o,失败 ...
随机推荐
- Core Text 入门
本文所涉及的代码你可以在这里下载到 https://github.com/kejinlu/CTTest,包含两个项目,一个Mac的NSTextView的测试项目,一个iOS的Core Text的测试项 ...
- 2019/11/12 CSP模拟赛&&考前小总结
写在前面的总结 离联赛只有几天了,也马上就要回归文化课了. 有点舍不得,感觉自己的水平刚刚有点起色,却又要被抓回文化课教室了,真想在机房再赖几天啊. 像19/11/11那场的简单题,自己还是能敲出一些 ...
- c++ pb_ds库,实现 红黑树,Splay
C++ pb_ds库 #include <ext/pb_ds/assoc_container.hpp>#include <ext/pb_ds/tree_policy.hpp> ...
- Python的变长参数
Python的变长参数 def foo1(*args): for arg in args: print arg def foo2(**kargs): for key in kargs: print k ...
- mysql删除字段为null的数据
delete FROM main_bussiness_cost1 where date is null; 不能用 date = null:
- 转-Windows下anaconda简单使用教程
转自:https://www.cnblogs.com/Dota-wiki/p/7871838.html Anaconda is a completely free Python distributio ...
- iOS之NSArray数组排序
一.数组遍历 除了常用的for和for-in遍历外,系统还提供了三种枚举遍历,对于大量的数据遍历可以使用下列三个方法. - (void)enumerateObjectsUsingBlock:(void ...
- SPI 及初始化例子
概述 时钟相性与极性 CPOL(Clock Polarity)控制空闲状态时SCK的值:CPOL=0,空闲时SCK=0:CPOL=1,空闲时SCK=1. CPHA(Clock Phase)控制何时捕获 ...
- python爬取文件时,内容为空
解决方式: img_res = requests.get(src,headers=header)在header中加上referer防盗链加上防盗链header的例子: header = {" ...
- JAVA发展历史!
前言 自1946年2月14日世界上首款计算机问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计算机能识 ...