题目链接

题目大意:给定$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 ;
}

最新文章

  1. jira的使用
  2. 阻塞通信之Socket编程
  3. 四个使用promise的语句之间的不同点在哪儿?
  4. WebRTC源码分析三:视频处理流程
  5. RMAN_学习实验2_RMAN Duplicate复制数据库过程(案例)
  6. Android(java)学习笔记127:Android Studio新建工程中的build.gradle、settings.gradle
  7. (转)ASP.net中Timer无刷新定时器.
  8. oracle 全文检索
  9. Android应用程序请求SurfaceFlinger服务创建Surface的过程分析
  10. ASP.NET中的路径(path) 详解
  11. bzoj 1430: 小猴打架 -- prufer编码
  12. Unity与web交互
  13. numpy C语言源代码调试(二)
  14. 由浅入深讲述MVVM
  15. pycharm中range的应用
  16. vue项目中引用jquery
  17. cpp 标准库
  18. (转)你真的会写单例模式吗——Java实现
  19. 无需软件windows如何加密文件夹
  20. [转]GDB

热门文章

  1. Error: error getting chaincode bytes: failed to calculate dependencies报错解决办法
  2. 读《大话设计模式》——应用工厂模式的&quot;商场收银系统&quot;(WinForm)
  3. celery 基础教程(四):定时任务
  4. redis(九):Redis 哈希(Hash)(python)
  5. tcpreplay的使用指导
  6. 从零开始学Electron笔记(六)
  7. Burp Suite Intruder Module - 攻击模块
  8. 消除win10桌面图标的右下方小箭头
  9. layui 数据表格自带的导出Excel,身份证等E+/000问题解决
  10. 前端学习(一):Html