首页 > 代码库 > BZOJ 4318 OSU!
BZOJ 4318 OSU!
注意dp1,dp2维护的是后缀的期望得分,而dp3维护的是全部的期望得分。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 100500 using namespace std; int n; double dp1[maxn],dp2[maxn],dp3[maxn],x; int main() { scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%lf",&x); dp1[i]=(dp1[i-1]+1)*x; dp2[i]=(dp2[i-1]+2*dp1[i-1]+1)*x; dp3[i]=dp3[i-1]+(3*dp2[i-1]+3*dp1[i-1]+1)*x; } printf("%.1lf\n",dp3[n]); return 0; }
BZOJ 4318 OSU!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。