zoukankan      html  css  js  c++  java
  • bzoj4318 OSU!

    传送门

    题目

    osu 是一款群众喜闻乐见的休闲软件。 
    我们可以把osu的规则简化与改编成以下的样子: 
    一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串。在这个串中连续的 X个1可以贡献X^3 的分数,这x个1不能被其他连续的1所包含(也就是极长的一串1,具体见样例解释) 
    现在给出n,以及每个操作的成功率,请你输出期望分数,输出四舍五入后保留1位小数。 

    Input

    第一行有一个正整数n,表示操作个数。接下去n行每行有一个[0,1]之间的实数,表示每个操作的成功率。 

    Output

    只有一个实数,表示答案。答案四舍五入后保留1位小数。
    N<=100000

    分析

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    double a[110000],g1[110000],g2[110000],g3[110000];
    int main()
    {     int n,m,i,j,k;
          scanf("%d",&n);
          for(i=1;i<=n;i++)
            scanf("%lf",&a[i]);
          for(i=1;i<=n;i++){
             g1[i]=(g1[i-1]+1)*a[i];
             g2[i]=(g2[i-1]+g1[i-1]*2+1)*a[i];
             g3[i]=g3[i-1]+(3*g2[i-1]+3*g1[i-1]+1)*a[i];
          }
          printf("%0.1lf
    ",g3[n]);
          return 0;
    }
  • 相关阅读:
    Editor REST Client
    log配置
    spring-boot-configuration-processor
    http请求
    做项目用到的一些正则表达式,贴出来共享
    批量插入的实现
    sql执行顺序对比
    Java常用的并发工具类:CountDownLatch、CyclicBarrier、Semaphore、Exchanger
    spring中bean的生命周期
    多属性的对象列表的两种排序方法
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/9198304.html
Copyright © 2011-2022 走看看