朴素 多项式期望求解
来源:互联网 发布:李银桥和权延赤 知乎 编辑:程序博客网 时间:2024/06/06 01:51
由期望的线性性
可以一个个加起来
所以x^3 x^2 K分开考虑
x^2 x^3详见BZOJ 4318: OSU! 期望dp
我们来讨论一下K
每次的状态可以看做是一个01串
对于每次K的变化一定是在0结束或1结束
所以每次都可以抵消掉
不过当然有例外
当第一个和最后一个相同,就会无法抵消
所以只需要把这种情况加上就行了
#include<bits/stdc++.h> using namespace std;typedef long long ll;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch<='9'&&ch>='0'){x=(x<<3)+(x<<1)+ch-'0';ch=getchar();} return x*f;}int N;double K,p[1000010],l1[1000010],l2[1000010],n1[1000010],f[1000010][2],ans; int main(){ register int i,j; scanf("%d%lf",&N,&K); for(int i=1;i<=N;i++) { scanf("%lf",&p[i]); l1[i]=(l1[i-1]+1)*p[i]; n1[i]=(n1[i-1]+1)*(1-p[i]); l2[i]=(l2[i-1]+2*l1[i-1]+1)*p[i]; f[i][1]=f[i-1][1]+(3*l2[i-1]+3*l1[i-1]+1)*p[i]; f[i][2]=f[i-1][2]-(2*n1[i-1]+1)*(1-p[i]); } ans+=f[N][1]+f[N][2]; ans=ans+p[1]*p[N]*K-(1-p[1])*(1-p[N])*K; printf("%lf\n",ans); return 0;}
阅读全文
0 0
- 朴素 多项式期望求解
- 期望求解
- 多项式求解
- 求解多项式
- 朴素贝叶斯及其多项式
- 秦九韶算法求解多项式
- n阶勒让德多项式求解
- php 求解多项式
- 多项式求解【模板】
- 求最大公约数 百钱买百鸡 求解多项式
- 综合除法求解特征多项式
- Horner规则的多项式求解
- 黑马程序员___求解多项式
- 秦九韶算法 求解多项式值
- Matlab求解代数多项式方程组
- 朴素贝叶斯多项式模型个人笔记
- 朴素贝叶斯.Laplace平滑.多项式事件模型
- 朴素贝叶斯,Laplace平滑,多项式事件模型
- 博客内容及分类简介
- CSS Spite实现菜单标签
- Javascript之一切皆为对象1全屏模式 2016-02-21 11:09 by 猴子猿, 1318 阅读, 2 评论, 收藏, 编辑 在javascript的世界里,有这么一句话,一切皆为对象。
- 单点登录原理与简单实现
- CSS实现背景透明,文字不透明(兼容各浏览器)
- 朴素 多项式期望求解
- RXAndroid2.0初学习四
- Dubbo与Zookeeper、SpringMVC整合和使用
- snail Android 第三方架包
- C#-using的另一种用法
- 算法系列-bitmap算法详解和实现
- mtk和高通是如何把自己的内容打包到系统镜像中的
- ubuntu-kylin 16.04 LTS +VM12pro+py2.7+tensorflow0.8.0+mnist
- 51nod 1182 完美字符串