zoukankan      html  css  js  c++  java
  • 3450: Tyvj1952 Easy

    3450: Tyvj1952 Easy

    Time Limit: 10 Sec  Memory Limit: 128 MB
    Submit: 269  Solved: 198
    [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


    n<=300000
    osu很好玩的哦
    WJMZBMR技术还行(雾),x基本上很少呢

    HINT

     

    Source

    我们都爱GYZ杯

    题解:其实,只要知道一个东西就好啦——   ( {x}^{2} = {(x-1)}^2 + 2 (x-1) +1 ) 

    然后有了这个之后一个数组存答案期望值,另一个存期望的连续O长度,然后就该怎么玩怎么玩啦

    (PS:请叫我代码压缩狂魔么么哒)

     1 /**************************************************************
     2     Problem: 3450
     3     User: HansBug
     4     Language: Pascal
     5     Result: Accepted
     6     Time:68 ms
     7     Memory:224 kb
     8 ****************************************************************/
     9  
    10 var
    11    i,j,k,l,m,n:longint;ch:char;x:extended;
    12    a,b:array[0..1] of extended;
    13 begin
    14      readln(n);
    15      for i:=1 to n do
    16          begin
    17               read(ch);
    18               case upcase(ch) of
    19                    'X':x:=0;
    20                    'O':x:=1;
    21                    else x:=0.5
    22               end;
    23               a[i mod 2]:=a[(i+1) mod 2]+(2*b[(i+1) mod 2]+1)*x;
    24               b[i mod 2]:=(b[(i+1) mod 2]+1)*x;
    25          end;
    26      writeln(a[n mod 2]:0:4);
    27      readln;
    28 end.
  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/HansBug/p/4480340.html
Copyright © 2011-2022 走看看