news 2026/4/23 3:00:19

《P1365 WJMZBMR打osu! / Easy》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《P1365 WJMZBMR打osu! / Easy》

题目背景

原 维护队列 参见 P1903

题目描述

某一天 WJMZBMR 在打 osu,但是他太弱了,有些地方完全靠运气:(。

我们来简化一下这个游戏的规则

有 n 次点击要做,成功了就是o,失败了就是x,分数是按 combo 计算的,连续 a 个 combo 就有 a×a 分,combo 就是极大的连续o

比如ooxxxxooooxxx,分数就是 2×2+4×4=4+16=20。

Sevenkplus 闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有 50% 的可能性,用?号来表示。

比如oo?xx就是一个可能的输入。 那么 WJMZBMR 这场 osu 的期望得分是多少呢?

比如oo?xx的话,?o的话就是oooxx(9),是x的话就是ooxxx(4),期望自然就是 (4+9)/2=6.5 了。

输入格式

第一行一个整数 n(n≤3×105),表示点击的个数

接下来一个字符串,每个字符都是ox?中的一个

输出格式

一行一个浮点数表示答案

四舍五入到小数点后 4 位

如果害怕精度跪建议用 long double 或者 extended。

输入输出样例

输入 #1复制

4 ????

输出 #1复制

4.1250

代码实现:

#include <bits/stdc++.h> using namespace std; const int N = 3e5 + 10; char c[N + 10]; int m; long double dp[N]; int main () { scanf("%d" , &m); scanf("%s" , c + 1); dp[1] = 0; double len = 0.0; for(int i = 1 ; i <= m ; i ++) { if(c[i] == 'o') { dp[i] = dp[i - 1] - len * len + (len + 1.0) * (len + 1.0); len ++; } else if(c[i] == 'x') { len = 0.0; dp[i] = dp[i - 1]; } else if(c[i] == '?') { dp[i] = (dp[i - 1] - len * len + (len + 1.0) * (len + 1.0) + dp[i - 1]) / 2.0; len = (len + 1) / 2; } } printf("%.4Lf" , dp[m]); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 17:12:59

为什么程序员怕35岁,但网安却越老越吃香?

同样是技术岗&#xff0c;为啥程序员怕35岁危机&#xff0c;网安却越老越值钱&#xff1f; 你有没有发现&#xff0c;身边做程序员的朋友&#xff0c;一到 30 岁就开始焦虑 “35 岁后怎么办”&#xff0c;但做网安的前辈&#xff0c;反而越往后越吃香&#xff0c;薪资和话语权…

作者头像 李华
网站建设 2026/4/17 12:21:11

【人工智能引论期末复习】 第6章 深度学习4 - RNN

一、基本概念与填空考点RNN全称&#xff1a;循环神经网络&#xff08;Recurrent Neural Network&#xff09;RNN的主要特点&#xff1a;具有记忆能力&#xff0c;能处理序列数据前后输入之间存在依赖关系与CNN和前馈网络的区别&#xff1a;CNN&#xff1a;局部感知、参数共享&a…

作者头像 李华
网站建设 2026/4/22 6:32:33

程序员必学:大模型构建四阶段详解,收藏这篇就够了

本文详细介绍了从零构建大语言模型的四个阶段&#xff1a;预训练&#xff08;通过海量语料教授基础知识&#xff09;、指令微调&#xff08;使模型遵循指令&#xff09;、偏好微调&#xff08;利用人类偏好数据通过RLHF对齐价值观&#xff09;和推理微调&#xff08;激发模型推…

作者头像 李华
网站建设 2026/4/17 2:41:25

HG_REPMGR autofailvoer自动故障转移

文章目录 文档用途详细信息 文档用途 HG_REPMGR自动故障转移配置参考 详细信息 配置集群自动故障转移&#xff08;failover&#xff09;&#xff0c;需要为集群中的每个节点开启 repmgrd 守护进程。当主节点出现故障后&#xff0c;会自动将合适的备节点提升为新主节点&#…

作者头像 李华
网站建设 2026/4/22 20:19:20

MySQL JOIN语法深度解析:从理论到实践的完整指南

目录 一、JOIN的本质与数学基础 二、内连接&#xff08;INNER JOIN&#xff09;的深层机制 三、外连接的完整语义解析 四、特殊连接类型的适用场景 五、JOIN性能优化的核心原则 六、JOIN与事务处理的交互影响 七、高级JOIN技术的实践应用 八、JOIN设计的最佳实践 结语 …

作者头像 李华