博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P1365 WJMZBMR打osu! / Easy——期望DP
阅读量:4458 次
发布时间:2019-06-08

本文共 729 字,大约阅读时间需要 2 分钟。

题目:

平方和怎样递推?

其实就是 (x+1)^2 = x^2 + 2*x + 1;

所以我们要关注这里的 x ——连续的 o 的期望长度;

另开一个数组 d 记录期望长度,转移即可。

代码如下:

#include
#include
#include
using namespace std;int const maxn=300005;int n;double f[maxn],d[maxn];char ch[maxn];int main(){ scanf("%d",&n); cin>>ch+1; for(int i=1;i<=n;i++) { if(ch[i]=='o') { d[i]=d[i-1]+1; f[i]=f[i-1]+2*d[i-1]+1; } if(ch[i]=='x') { d[i]=0; f[i]=f[i-1]; } if(ch[i]=='?') { d[i]=(d[i-1]+1)/2; f[i]=(f[i-1]*2+2*d[i-1]+1)/2; } } printf("%.4lf",f[n]); return 0;}

 

转载于:https://www.cnblogs.com/Zinn/p/9204324.html

你可能感兴趣的文章
Go VUE --- vuejs在服务器部署?
查看>>
各种排序算法原理图
查看>>
ASP.NET Core Middleware管道介绍
查看>>
SQL 外键
查看>>
二叉树的三种非递归遍历和层次遍历
查看>>
centos7 update network time
查看>>
装饰模式
查看>>
苹果新的编程语言 Swift 语言进阶(十一)--实例的初始化与类的析构
查看>>
node.js整理 03文件操作-遍历目录和文本编码
查看>>
mysql字段累加concat
查看>>
TCP协议的三次握手和四次挥手过程
查看>>
linux内核中有哪些子系统(框架)呢?
查看>>
python built-in zip()
查看>>
Android AsynTask更新主界面
查看>>
yii使用CUploadedFile上传文件
查看>>
《redis-php中文参考手册》
查看>>
System.IO.File.Create 不会自动释放,一定要Dispose
查看>>
【LeetCode】【找元素】Find First and Last Position of Element in Sorted Array
查看>>
PHP--y2k38的解决方法已经时间格式的常用转换
查看>>
vue环境搭建及简单接触
查看>>