AK大神又AK了!!! orzorzorz

题意:

给出一个字符串由'x'、'o'、'?'

'?'有一半的几率为'x' 一半几率为'o'

得分为所有连续的'o'的个数的平方和

如ooxooo 得分为2*2+3*3=13

求期望得分

题解:

又是一道期望题! orzorz

AK大神只写了20行的程序 我写了80多行

这里讲下AK大神的神做法吧 我的‘做法太麻烦了- -

f[i]表示到i点的期望得分

T[i]表示是一个'x'到i点的期望长度 这样表示就能无视前面的'?'了!

相当于i之前有连续T[i]个'o'(虽然是小数但是没事 这就是期望的神奇之处)

转移:

if (s[i]=='x') f[i]=f[i-1],T[i]=0;

if (s[i]=='o') f[i]=f[i-1]+T[i-1]*2+1,T[i]=T[i-1]+1;

if (s[i]=='?') f[i]=f[i-1]+T[i-1]+0.5,T[i]=(T[i-1]+1)/2;

代码:(AK大神的)

 #include <cstdio>
int n;
long double f[ + ],T[ + ];
int main()
{
#ifndef ONLINE_JUDGE
freopen("easy.in","r",stdin);
freopen("easy.out","w",stdout);
#endif
scanf("%d\n",&n);
for (int i = ; i <= n; ++i) {
char c = getchar();
if (c == 'x') {
f[i] = f[i - ];
T[i] = ;
}else if (c == 'o') {
f[i] = f[i - ] + *T[i - ] + ;
T[i] = T[i - ] + ;
}else {
f[i] = f[i - ] + T[i - ] + 0.5;
T[i] = (T[i - ] + )/;
}
}
printf("%.4f\n",(double)f[n]);
}

【tyvj1952】easy的更多相关文章

  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 ...

  2. 【BZOJ3450】【Tyvj1952】Easy 可能DP

    联系: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...

  3. 【BZOJ3450】Easy [期望DP]

    Easy Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~ ...

  4. 【转】 Easy RadControl 之 RadGridView(Silverlight)

    1.不显示第1列即列指示器(Row Indicators) 在 telerik:RadGridView中设置属性   RowIndicatorVisibility="Collapsed&qu ...

  5. 【ZCTF】easy reverse 详解

    0x01  前言     团队逆向牛的解题思路,分享出来~ 0x02  内容 0. 样本 bbcdd1f7-9983-4bf4-9fde-7f77a6b947b4.dll 1. 静态分析 使用IDAP ...

  6. 【BZOJ3450】Easy(期望)

    题意: 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a ...

  7. 【POJ3740】Easy Finding DLX(Dancing Links)精确覆盖问题

    题意:多组数据,每组数据给你几行数,要求选出当中几行.使得每一列都有且仅有一个1.询问是可不可行,或者说能不能找出来. 题解:1.暴搜.2.DLX(Dancing links). 本文写的是DLX. ...

  8. 【175】Easy CHM的使用

    首先下载软件,EasyCHM3.84完美破解版.rar! 安装好之后,打开程序,点击“新建”,然后浏览到存放 htm 文件的目录. 鼠标右键,选择“添加目录项”!如下图所示. 在弹出的文本框中,首先选 ...

  9. 【BZOJ3450】Tyvj1952 Easy 期望DP

    [BZOJ3450]Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是 ...

随机推荐

  1. ural 1221

    本来就是个很水的题  就是枚举起点长度然后直接判断就行了   但是比赛的时候写了个大bug 还找不出来     自己太水了 #include <cstdio> #include <c ...

  2. Oracle----dual

    1. dual is a table that contains a single row. 2. The dual table has one VARCHAR2 column named dummy ...

  3. Android 环境搭建 版本问题

    jdk1.6 1.7  eclipse 3.7.2    SDK-r12 ADT 12 SDK和ADT必须配套 搭建环境需要四个软件: 1.JDK(这是最新版本jdk1.7官方下载地址:http:// ...

  4. OneAPM x 腾讯 | OneAPM 技术公开课·深圳 报名:前端性能大作战!

    「 OneAPM 技术公开课」由应用性能管理第一品牌 OneAPM 发起,内容面向 IT 开发和运维人员.云集技术牛人.知名架构师.实践专家共同探讨技术热点. 11月28日,OneAPM 技术公开课第 ...

  5. Window Event 2008

    https://support.microsoft.com/en-us/kb/947226

  6. like 大数据字段 查询慢

    对于ntext的字段,作为查询条件的时候速度会很慢,比如以下语句: select * from T_KNOWLEDGE where CONTENTS like '%Oracle TimesTen In ...

  7. 【疯狂Java学习笔记】【理解面向对象】

    [学习笔记]1.Java语言是纯粹的面向对象语言,这体现在Java完全支持面向对象的三大基本特征:封装.继承.多态.抽象也是面向对象的重要组成部分,不过它不是面向对象的特征之一,因为所有的编程语言都需 ...

  8. 图形学:图像围绕着某个点P(a,b)旋转------白话版

    前提:在研究图形时候,我们并没有规定图形的大小,所以任意图形多是支持的,这也另外说明了一点,图形转换和图形的大小没有关系. 如果图像围绕着某个点P(a,b)旋转,则先要将坐标系平移到该点,再进行旋转, ...

  9. Qt之自定义控件(开关按钮)Qt之模拟时钟

    http://blog.csdn.net/u011012932/article/details/52164289 http://blog.csdn.net/u011012932/article/det ...

  10. 函数(Functions)

      概念: 下面是蛮经典的解释: What Good are Functions? You might have considered the situation where you would li ...