zoukankan      html  css  js  c++  java
  • bzoj4318 OSU!&&tyvj1952 Easy

    链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4318http://www.tyvj.cn/p/1952

    其实这两个题题意差不多,游戏都一样(一样吗?计分方式都不一样),都是连续的数值价值会变为多次方,只不过一个是变成三次方,一个是变成二次方。

    对OSU!分析,增加一个连续的o做出的贡献是(x+1)3-x3=3x2+3x+1,于是我们只需要维护期望个数之和、平方和、立方和即可。

    同理,Easy中增加一个o的贡献为(x+1)2-x2=2x+1,于是我们只要维护期望个数及其平方和即可。

    注意一点:平方期望不等于期望的平方。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 using namespace std;
     6 const int maxn=100005;
     7 int n;
     8 double a[maxn],f1[maxn],f2[maxn],f3[maxn];
     9 int haha()
    10 {
    11     scanf("%d",&n);
    12     for(int i=1;i<=n;i++)scanf("%lf",&a[i]);
    13     f1[0]=0;f2[0]=0;f3[0]=0;
    14     for(int i=1;i<=n;i++)
    15     {
    16         f1[i]=(f1[i-1]+1)*a[i];
    17         f2[i]=(f2[i-1]+2*f1[i-1]+1)*a[i];
    18         f3[i]=f3[i-1]+(3*f2[i-1]+3*f1[i-1]+1)*a[i];
    19     }
    20     printf("%0.1lf
    ",f3[n]);
    21 }
    22 int sb=haha();
    23 int main(){;}
    bzoj4318

    OSU!

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int maxn=300005;
     7 int n;
     8 double f1[maxn],f2[maxn],a[maxn];
     9 char s[maxn];
    10 int haha()
    11 {
    12     scanf("%d",&n);
    13     scanf("%s",s+1);
    14     for(int i=1;i<=n;i++)
    15         switch(s[i])
    16         {
    17             case 'o':a[i]=1.0;break;
    18             case 'x':a[i]=0.0;break;
    19             case '?':a[i]=0.5;break;
    20         }
    21     f1[0]=0;f2[0]=0;
    22     for(int i=1;i<=n;i++)
    23     {
    24         f1[i]=(f1[i-1]+1)*a[i];
    25         f2[i]=f2[i-1]+(2*f1[i-1]+1)*a[i];
    26     }
    27     printf("%0.4lf
    ",f2[n]);
    28 }
    29 int sb=haha();
    30 int main(){;}
    tyvj1952

    Easy

    只要是活着的东西,就算是神我也杀给你看。
  • 相关阅读:
    .net core webapi发布到linux中
    封装EF,使用仓储模式所遇到的问题
    oracle取分组的前N条数据
    20141124
    搭建discuz论坛(2)
    安装apache mysql 论坛(一)
    L13 DNS
    L10 PUtty+SSH 访问vncviewer
    L12 samba服务器搭建
    L10 数据入站、转发、出站流程
  • 原文地址:https://www.cnblogs.com/Loser-of-Life/p/7183828.html
Copyright © 2011-2022 走看看