当前位置: 首页 > news >正文

BZOJ4318: OSU!

【传送门:BZOJ4318】


简要题意:

  给出n个位置,每个位置可以有a[i]的概率会变成1,1-a[i]的概率为0,最后会变成一个长度为n的01串,而每个01串中,连续x个1会带来x3的价值(这x个1不能被其他连续的1所覆盖),求出期望分数


题解:

  期望DP

  太神了。。

  首先假设当前有一个串,它的后缀有x个1,那么在它的下一个位置出现1的价值就是(x+1)3-x3=3x2+3x+1,期望就是a[i]*(3x2+3x+1)

  而我们可以得到x和x2的期望

  那么这道题就可以做了


参考代码:

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
double x[110000],x2[110000],a[110000],f[110000];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lf",&a[i]);
        x[i]=(x[i-1]+1)*a[i];
        x2[i]=(x2[i-1]+2*x[i-1]+1)*a[i];
        f[i]=f[i-1]+(3*x2[i-1]+3*x[i-1]+1)*a[i];
    }
    printf("%.1lf\n",f[n]);
    return 0;
}

 

转载于:https://www.cnblogs.com/Never-mind/p/8657499.html

相关文章:

  • MSBuild使用初步
  • python库--pandas--写入文本文件
  • WPF程序编译(从命令行到Visual Studio)
  • Hibernate学习(1)- 初识
  • C#下.NET配置文件使用(一)
  • JS运行机制(进程与线程的区分)
  • C#下.NET配置文件使用(二)
  • MAC为Apache2服务器配置多个虚拟主机
  • WPF下的布局(Layout、Panel)小记
  • let 与 const 的用法
  • 从CT技术想到的软件测试
  • Linux CentOS7 VMware 文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限lsattr/chattr...
  • Linux WebSphere DB2
  • c\c++ 基本知识
  • 设计模式——责任链模式
  • 深入了解以太坊
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 「译」Node.js Streams 基础
  • 【个人向】《HTTP图解》阅后小结
  • CAP 一致性协议及应用解析
  • extjs4学习之配置
  • JavaScript-Array类型
  • Javascript弹出层-初探
  • Java多线程(4):使用线程池执行定时任务
  • Java小白进阶笔记(3)-初级面向对象
  • jdbc就是这么简单
  • JS基础之数据类型、对象、原型、原型链、继承
  • Linux各目录及每个目录的详细介绍
  • PaddlePaddle-GitHub的正确打开姿势
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 技术:超级实用的电脑小技巧
  • 力扣(LeetCode)21
  • 入门级的git使用指北
  • 深入浅出webpack学习(1)--核心概念
  • 数据结构java版之冒泡排序及优化
  • 微信支付JSAPI,实测!终极方案
  • 我看到的前端
  • 2017年360最后一道编程题
  • Android开发者必备:推荐一款助力开发的开源APP
  • #pragma预处理命令
  • #Spring-boot高级
  • #考研#计算机文化知识1(局域网及网络互联)
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (独孤九剑)--文件系统
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .a文件和.so文件
  • .NET BackgroundWorker
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NetCore项目nginx发布