zoukankan      html  css  js  c++  java
  • BZOJ-4318-OSU!期望DP

    首先得了解,期望是线性的。。。但是期望的平方和立放却不是emmmmm

    我们求的是x^3的期望,明摆着就是求E[X^3]的期望但是。。。E[X^3]!=E[X]^3

    不如这样!!!

    E[(X+1)^3]=E(X)^3+3*E[X]^2+3E[X]+1

    E[(X+1)^2]=E[X]^2+2*E[X]+1;

    E[X+1]=(E[X]+1)

    这样岂不是美滋滋???

    期望的线性性: 
    期望的和=和的期望 
    期望的平方≠平方的期望 
    期望的立方≠立方的期望

    每次如果成功,对答案贡献3*x^2+3*x+1 (接着之前的x个1) 
    失败 贡献0 
    我们每次计算期望长度和期望的 长度的平方,并且都要从前一位线性去推

    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    using namespace std;
    const int maxx=100010;
    double a[maxx];
    int main(){
      int n;
      scanf("%d",&n);
      double ans=0.0;
      double x1=0.0;
      double x2=0.0,p;
      for (int i=1;i<=n;i++){
        scanf("%lf",&p);
        ans+=(1.0+x1*3.0+x2*3.0)*p;
        x2=(x2+x1*2.0+1.0)*p;
        x1=(x1+1.0)*p;
      }
      printf("%.1lf",ans);
      return 0;
    }
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    Linux 基本操作 (day2)
    Linux 简介(day1)
    python 反射、md5加密
    Python 简易版选课系统
    python 类与类之间的关系
    python 基本运算符
    python 基础操作--数据类型
    python初识
    生成器和生成器表达式
    SpringMvc测试框架详解----服务端测试
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/9497589.html
Copyright © 2011-2022 走看看