news 2026/4/15 18:18:55

《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/3 20:02:18

AI的秘密:它真的能思考吗?

引言在科幻电影中&#xff0c;我们曾无数次看到拥有自我意识、情感甚至独立思想的人工智能。如今&#xff0c;随着ChatGPT、Sora等大模型的横空出世&#xff0c;AI在语言理解、内容生成、图像创作等领域的表现令人惊叹&#xff0c;仿佛这些“机器”真的拥有了某种智慧。这不禁让…

作者头像 李华
网站建设 2026/4/12 4:49:39

SQL 常用函数大全:聚合、字符串、数值、日期、窗口函数解析

SQL 常用函数大全&#xff1a;聚合、字符串、数值、日期、窗口函数解析 一、聚合函数&#xff08;用于统计分析&#xff09; 聚合函数用于对一组值进行计算并返回单个值&#xff0c;常与 GROUP BY 配合使用。函数作用示例COUNT()统计行数SELECT COUNT(*) AS 总记录数 FROM stud…

作者头像 李华
网站建设 2026/4/11 4:01:44

最近在搞永磁同步电机离线参数辨识的项目,发现不少新手在玩SVPWM时总会遇到死区补偿和高频注入这两个大坑。今天就拿Simulink模型说事,咱们边看代码边唠嗑

SVPWM死区补偿&#xff08;基于电流极性)高频注入法辨识PMSM的dq轴电感&#xff08;离线辨识&#xff09;—simulink先说说SVPWM的实现。在Simulink里用PWM Generator模块生成六路PWM信号时&#xff0c;记得把载波频率设成和实际硬件一致。比如我用的是20kHz&#xff0c;这时候…

作者头像 李华
网站建设 2026/4/12 14:46:07

Spring 中 Servlet 容器和 Python FastAPI 对比

一、核心架构对比&#xff1a;Java Servlet vs. Python ASGI 下表清晰地展示了两个生态在对应层级上的核心组件与关系&#xff1a;架构层级核心职责Java / Servlet 生态Python / ASGI 生态1. 网络与协议层处理原始HTTP请求/响应、连接管理、线程/进程调度。Tomcat, Jetty, Unde…

作者头像 李华
网站建设 2026/3/28 6:17:04

langchain 常见提示词模板使用案例

大模型对象创建&调用 """ 大模型共用定义""" import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI load_dotenv()# 创建大模型对象 llm ChatOpenAI(model"qwen-max-latest",base_url"https…

作者头像 李华