BZOJ 4318 OSU
来源:互联网 发布:php面向对象几大原则 编辑:程序博客网 时间:2024/05/17 03:41
分析:
首先研究dp方程 dp[i]=(len^3-(len-1)^3)*p;其中有一个三次方差,计算这个三次方差需要维护两个值,即二次方和一次方的转移值,而二次方差需要一次方转移。
一次方转移方法:对于一个位置共有两种情况。一种为1,概率为p,得分为x1[i-1]+1,贡献为p*(x1[i-1]+1);另一种为0,概率为1-p,贡献为0。二次方也相似,于是得到总dp方程:dp[i]=x3[i]-p*x3[i-1](因为x3[i]已考虑当前p的概率,而x3[i-1]需要另乘概率;代码中dp相当于计算一个前缀和)。
#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>#include<algorithm> using namespace std; const int maxn=100005; int n;double x1[maxn],x2[maxn],x3[maxn],dp[maxn]; int main(){ scanf("%d",&n); double tmp; for(int i=1;i<=n;i++) { scanf("%lf",&tmp); x1[i]=tmp*(x1[i-1]+1); x2[i]=tmp*(x2[i-1]+2*x1[i-1]+1); x3[i]=tmp*(x3[i-1]+3*x2[i-1]+3*x1[i-1]+1); dp[i]=dp[i-1]+x3[i]-tmp*x3[i-1]; } printf("%.1lf",dp[n]); return 0;}
阅读全文
0 0
- BZOJ 4318: OSU!【期望
- BZOJ 4318 OSU!
- bzoj 4318 OSU!
- BZOJ 4318: OSU!
- BZOJ 4318 OSU
- 【BZOJ】4318 OSU! 期望
- BZOJ 4318 OSU! 期望DP
- BZOJ 4318 OSU!(期望DP )
- bzoj 4318: OSU! 递推
- bzoj 4318 OSU! 期望dp
- bzoj 4318: OSU! 期望dp
- bzoj 4318 OSU! 概率dp
- 【BZOJ 4318】[概率DP]OSU!
- BZOJ 4318: OSU! (概率dp)
- BZOJ 4318 OSU!期望DP
- BZOJ 4318: OSU! 期望dp
- bzoj 4318 osu 【三次方问题】【dp】
- BZOJ 4318(OSU!-立方的期望)
- Gradle project sync failed.
- python基础学习-协程与yeild表达式
- (五)php参考手册---Filesystem 函数
- 全球云计算市场诞生四巨头,亚马逊、微软、阿里云和谷歌引领市场
- Hive 实现脱敏以及ETL 过程(开启kerberos)
- BZOJ 4318 OSU
- stm32 独立看门狗
- 我要无聊死了
- 设计模式之策略模式
- SDUT 2560 又见回文
- 【论文笔记】Relation Classification via Multi-Level Attention CNNs
- Zigbee Stack CC2530 ZNP使用
- 历代权臣的唯一结局 孙权为什么要迫害陆逊?
- C++11:常量表达式