【题解】 bzoj3450 JoyOI1952 Easy (期望dp)
Solution
- 期望的题目真心不太会
- 定义状态\(f[i]\)表示到第\(i\)期望长度,\(dp[i]\)表示期望分数
- 如果上一步的持续\(o\)长度为\(L\),那么贡献是\(L^2\),现在长度为\(L+1\),贡献是\(L^2+2*L+1\),那么添加量就是\(2*L+1\)
- 所以我们可以得到转移方程:
\(ch[i]==o\) 时,\(f[i]=f[i-1]+1 ~~~~~~~~~~~ dp[i]=dp[i-1]+f[i-1]*2+1\)
\(ch[i]==x\) 时,\(f[i]=0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dp[i]=dp[i-1]\)
\(ch[i]==?\) 时,\(f[i]=(f[i-1]+1)/2 ~~~~~dp[i]=dp[i-1]+(f[i-1]*2+1)/2\)
Code
//it is coded by ning_mew on 7.22
#include<bits/stdc++.h>
using namespace std;
const int maxn=3e5+7;
double ans=0,dp[maxn],f[maxn];
int n;
char ch[maxn];
int main(){
scanf("%d",&n); scanf("%s",ch);
for(int i=1;i<=n;i++){
if(ch[i-1]=='x'){f[i]=0;dp[i]=dp[i-1];continue;}
if(ch[i-1]=='o'){f[i]=f[i-1]+1;dp[i]=dp[i-1]+f[i-1]*2+1;continue;}
if(ch[i-1]=='?'){f[i]=0.5*f[i-1]+0.5;dp[i]=dp[i-1]+(f[i-1]*2+1)/2;continue;}
}printf("%0.4f\n",dp[n]);return 0;
}
博主蒟蒻,随意转载。但必须附上原文链接:http://www.cnblogs.com/Ning-Mew/,否则你会场场比赛暴0!!!
【题解】 bzoj3450 JoyOI1952 Easy (期望dp)的更多相关文章
- 【BZOJ3450】Easy [期望DP]
Easy Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~ ...
- 【NOI2005】聪聪与可可 题解(最短路+期望DP)
前言:学长讲的太神了:自己还能推出来DP式子,挺开心. -------------------------- 题目链接 题目大意:给定一张含有$n$个结点$m$条边的无向连通图.现在聪聪在点$s$,可 ...
- 【BZOJ3450】Tyvj1952 Easy 期望DP
[BZOJ3450]Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是 ...
- [BZOJ4318] WJMZBMR打osu! / Easy (期望DP)
题目链接 Solution Wa,我是真的被期望折服了,感觉这道题拿来练手正好. DP的难度可做又巧妙... 我们定义: \(f[i]\) 代表到第 \(i\) 次点击的时候的最大答案. \(g[i] ...
- BZOJ.3450.(JoyOI1952) Easy(期望)
题目链接 /* 设f[i]为到i的期望得分,c[i]为到i的期望连续长度 则若s[i]=='x',f[i]=f[i-1], c[i]=0 s[i]=='0',f[i]=f[i-1]+2*c[i-1]+ ...
- BZOJ 3450 Tyvj1952 Easy ——期望DP
维护$x$和$x^2$的期望递推即可 #include <map> #include <ctime> #include <cmath> #include <q ...
- 洛谷P1365 WJMZBMR打osu! / Easy——期望DP
题目:https://www.luogu.org/problemnew/show/P1365 平方和怎样递推? 其实就是 (x+1)^2 = x^2 + 2*x + 1: 所以我们要关注这里的 x — ...
- [bzoj3450]Tyvj1952 Easy[概率dp]
和之前一样考虑这个音符时x还是o,如果是x,是否是新的连续一段,对答案的贡献是多少$(a^2-{(a-1)}^2)$,然后递推就可以了. #include <bits/stdc++.h> ...
- 洛谷 P3239 [HNOI2015]亚瑟王(期望dp)
题面 luogu 题解 一道复杂的期望\(dp\) 思路来源:__stdcall 容易想到,只要把每张牌打出的概率算出来就可以求出\(ans\) 设\(fp[i]\)表示把第\(i\)张牌打出来的概率 ...
随机推荐
- CF700E Cool Slogans SAM、线段树合并、树形DP
传送门 在最优的情况下,序列\(s_1,s_2,...,s_k\)中,\(s_i (i \in [2 , k])\)一定会是\(s_{i-1}\)的一个\(border\),即\(s_i\)同时是\( ...
- SpringMVC之编程式校验
1.编程式效验需要实现Validator接口,针对模型类进行校验2.jar包 3.项目测试结构 4.StudentModel.java(模型类) package com.wt.entity; publ ...
- BTrace 初探
BTrace 是一款java诊断工具,在解决现场问题的时候非常有用. 今天使用的时候碰到几个坑,先记录一下. 下载下来以后直接运行报错 root@iZ2ze89756yjbvq7le6obdZ:~/b ...
- Redis Cluster集群知识学习总结
Redis集群解决方案有两个: 1) Twemproxy: 这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前很多应用者都在采用的解决方案.Twem ...
- linux上启动tomcat远程不能访问
linux上关闭防火墙同样访问不了,执行iptables -f即可. 你试一试这个“iptables -F”然后再访问,如果能够访问了,那么需要执行“firewall-cmd --add-port=8 ...
- L2-027. 名人堂与代金券
链接:名人堂与代金券 在比赛中这题只得了2分,赛后发现原来strcmp函数并不是只返回-1,0,1三种,而是返回正数负数0 但是在我的电脑上一般就是返回前三种,只是用后面的三种更稳妥点 都怪我基础不扎 ...
- Reading Task 2 —— by12061154Joy
关于Silver Bullet: Brooks在“No Silver Bullet”主张并断言在未来的十年之内(从1986年文章发表后开始计算),不会有任何单一的软件工程上的突破,能够让程序设计的生产 ...
- Zookeeper 源码学习(一)环境搭建
前言 最近准备学习 Zookeeper,想从 Zookeeper 开始逐步深入了解各类中间件,学习分布式计算. 下载源码 执行指令,下载代码: git clone https://github.com ...
- 美食应用 吃了么 beta 测试报告
为了更好的测试我们应用的兼容性和性能,我们借助了网上的平台Testin云测和百度MTC平台来测试我们的应用,一下是我们的测试结果. 一.兼容性测试 我们对119台终端机器进行了测试,通过测试的有99台 ...
- 第七周 linux如何装载和启动一个可执行文件
潘恒 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验内容 1.预处理. ...