BZOJ 3450 Tyvj1952 Easy(期望)
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3450
【题目大意】
给出一个字符串,包含o,x和?,一个字符串的得分为
每段连续的o的长度的平方和,现在在?处填上o或者x,问期望得分
【题解】
对于连续的一段,我们对平方这个计算方法进行拆分
1^2=1, 2^2=1+3, 3^3=1+3+5, ……
我们发现每次如果是o,增加的是最后连续o的数量的两倍+1,
那么我们按照这个方法,记录连续o的期望,同时计算得分期望即可。
【代码】
#include <cstdio>
#include <algorithm>
using namespace std;
const int N=300010;
char s[N];
double dp[N],d[N];
int n;
int main(){
scanf("%d %s",&n,s+1);
for(int i=1;i<=n;i++){
if(s[i]=='x'){dp[i]=dp[i-1];d[i]=0;}
else if(s[i]=='o'){dp[i]=dp[i-1]+2*d[i-1]+1;d[i]=d[i-1]+1;}
else{dp[i]=dp[i-1]+d[i-1]+0.5;d[i]=(d[i-1]+1)/2;}
}printf("%.4lf",dp[n]);
return 0;
}
BZOJ 3450 Tyvj1952 Easy(期望)的更多相关文章
- Bzoj 3450: Tyvj1952 Easy (期望)
Bzoj 3450: Tyvj1952 Easy 这里放上题面,毕竟是个权限题(洛谷貌似有题,忘记叫什么了) Time Limit: 10 Sec Memory Limit: 128 MB Submi ...
- Bzoj 3450: Tyvj1952 Easy 期望/概率,动态规划
3450: Tyvj1952 Easy Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 431 Solved: 325[Submit][Status] ...
- BZOJ 3450 Tyvj1952 Easy ——期望DP
维护$x$和$x^2$的期望递推即可 #include <map> #include <ctime> #include <cmath> #include <q ...
- bzoj4318 OSU!和bzoj 3450 Tyvj1952 Easy
这俩题太像了 bzoj 3450 Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点 ...
- bzoj 3450 Tyvj1952 Easy (概率dp)
3450: Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败 ...
- BZOJ 3450: Tyvj1952 Easy 数学期望
Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) ...
- 【概率】BZOJ 3450:Tyvj1952 Easy
Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连 ...
- BZOJ 3450: Tyvj1952 Easy [DP 概率]
传送门 题意:$ox?$组成的序列,$?$等概率为$o\ or\ x$,得分为连续的$o$的长度的平方和,求期望得分 一开始没想出来,原因在于不知道如何记录长度 其实我们同时求得分和长度的期望就好了 ...
- BZOJ.3450.(JoyOI1952) Easy(期望)
题目链接 /* 设f[i]为到i的期望得分,c[i]为到i的期望连续长度 则若s[i]=='x',f[i]=f[i-1], c[i]=0 s[i]=='0',f[i]=f[i-1]+2*c[i-1]+ ...
随机推荐
- IE浏览器Bug总结
每每在网上搜索IE浏览器Bug时,总是骂声一片,特别是前端工程师,每天都要面对,IE浏览器特别是IE6,存在很多Bug,对Web标准的支持也拖后腿,但不可否认,IE浏览器是曾经的霸主,它的贡献也是巨大 ...
- js_layer弹窗的使用和总结
2018-04-10 一张呈现给用户的网页,会有很多种交互,比如连不上网络,用户点击按钮时向后台请求数据不成功等等.像这些情况,用户是看不见的, 要给用户更好的体验,在特定的时间,给客户反馈内容.实时 ...
- 寻找kernel32.dll的地址
为了寻找kernel32.dll的地址,可以直接输出,也可以通过TEB,PEB等查找. 寻找TEB: dt _TEB nt!_TEB +0x000 NtTib : _NT_TIB +0x01c Env ...
- 【Python学习笔记】使用Python进行主成分分析
使用sklearn库中的PCA类进行主成分分析. 导入要用到的库,还没有的直接pip安装就好了. from sklearn.decomposition import PCA import numpy ...
- Ubuntu终端里面显示路径名称太长,怎么设置变短【转】
转自:http://blog.csdn.net/id19870510/article/details/8276914 $: sudo vi ~/.bashrc 这个文件记录了用户终端配置 找到 if ...
- leetcode 343. Integer Break(dp或数学推导)
Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...
- 【玲珑杯Round17】xjb总结
zcy真是垃圾,啥都不会的那种. 菜的不行. 这场手速上了三题,然后各种E被卡…… 日个吗居然E不开栈,傻逼吧 有毒吧 来看题: A.sqc给的我的神奇公式,gtmd居然能A? #include< ...
- AspxGridView在cell内显示颜色
protected void master_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e) { if ...
- google fcm 推送的流程
总结:1.给一个人推,能成功,2.给多个人推,有两种,一种是给组推,一种是给主题推,之前用的是组推,但是不成功,这里换成主题推: <?phpnamespace App\Http\Controll ...
- JS判断客户端是否是iOS或者Android手机移动端
var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > - ...