【BZOJ4318】OSU! 题解(期望)
2024-10-09 10:06:38
题目大意:给定$n$个操作的成功率$p[i]$。连续成功操作$m$次可以贡献$m^3$的分数。问期望分数。
对于$(x+1)^3$
$=x^3+3x^2+3x+1$
每多连续成功一次,对答案的贡献增加$3x^2+3x+1$。
我们维护这个增加值的期望。
维护$x1$表示$x$的期望,$x2$表示$x^2$的期望。
$x1[i]=(x1[i-1]+1)*p[i]$
$x2[i]=(x2[i-1]+2*x1[i-1]+1)*p[i]$
$ans[i]=ans[i-1]+(3*x2[i-1]+3*x1[i-1]+1)*p[i]$
最后的答案就是$ans[n]$。
双倍经验题:CF235B 比这个题还水。
代码:
#include<bits/stdc++.h>
using namespace std;
double x1[],x2[],ans[],p[];
long long n;
int main()
{
cin>>n;
for (int i=;i<=n;i++) cin>>p[i];
for (int i=;i<=n;i++)
{
x1[i]=(x1[i-]+)*p[i];
x2[i]=(x2[i-]+*x1[i-]+)*p[i];
ans[i]=ans[i-]+(*x2[i-]+*x1[i-]+)*p[i];
}
printf("%.1lf",ans[n]);
return ;
}
最新文章
- jira的使用
- 阻塞通信之Socket编程
- 四个使用promise的语句之间的不同点在哪儿?
- WebRTC源码分析三:视频处理流程
- RMAN_学习实验2_RMAN Duplicate复制数据库过程(案例)
- Android(java)学习笔记127:Android Studio新建工程中的build.gradle、settings.gradle
- (转)ASP.net中Timer无刷新定时器.
- oracle 全文检索
- Android应用程序请求SurfaceFlinger服务创建Surface的过程分析
- ASP.NET中的路径(path) 详解
- bzoj 1430: 小猴打架 -- prufer编码
- Unity与web交互
- numpy C语言源代码调试(二)
- 由浅入深讲述MVVM
- pycharm中range的应用
- vue项目中引用jquery
- cpp 标准库
- (转)你真的会写单例模式吗——Java实现
- 无需软件windows如何加密文件夹
- [转]GDB
热门文章
- Error: error getting chaincode bytes: failed to calculate dependencies报错解决办法
- 读《大话设计模式》——应用工厂模式的";商场收银系统";(WinForm)
- celery 基础教程(四):定时任务
- redis(九):Redis 哈希(Hash)(python)
- tcpreplay的使用指导
- 从零开始学Electron笔记(六)
- Burp Suite Intruder Module - 攻击模块
- 消除win10桌面图标的右下方小箭头
- layui 数据表格自带的导出Excel,身份证等E+/000问题解决
- 前端学习(一):Html