当前位置: 首页 > news >正文

20250910NOIP模拟赛

20250910NOIP模拟赛

A

题意:

\(n\) 个小球分为红、蓝两种颜色排成一排,现在你可以进行若干次操作,每次操作选择任意 \(R+B\) 个小球,使其有 \(R\) 个红球,\(B\) 个蓝球,把这些小球全部染为白色,且在该选择序列中,最左侧的球到最右侧的球之间不得存在已经被染为白色的小球。

其中 \(n\le 1e5\)

思路:

首先我们考虑操作过程,存在 跳着删除 和 整段删除 这两种删除方法,且当以点 \(i\) 为删除右端点时,我们肯定是想要使得左端点与 \(i\) 的距离最近(因为此时对于白点的分布影响最小),但是观察到在跳着删除之后我们剩下的若干个联通块互不干扰,所以我们若存在一种方案使得左端点与 \(i\) 的距离最近时可能无法保证删除完成之后剩下的联通块本身能够被消除掉。

所以我们不妨把时间轴倒序,暂且考虑 整段删除 都已操作完成的情况,那么我们若把尚未被匹配的节点压入栈时,此时以 \(i\) 为右端点(如果可以消除的话)要消除的就是栈顶的 \(R+B\) 个节点,因为若让 \(i\) 再在栈上进行 跳着删除 操作时,我们必定会产生新的白色联通块,使得下一次在栈上进行操作时必定会跨越一个白色联通块,这样也能满足我们想要的 “左端点与 \(i\) 的距离最近”这一条件。

所以我们直接在栈上进行操作,每次判断栈顶的 \(R+B\) 个元素是否能够形成一次操作。

http://www.rkmt.cn/news/2624.html

相关文章:

  • 【2025最新推荐】AI大模型API中转站 | 国内直连ChatGPT/Claude/Gemini全系API接口服务
  • html怎么写
  • 无重复字符的最长子串-leetcode
  • 两个常见的 计数问题 trick
  • 202110_绿盟杯_隐藏的数据
  • 线上课
  • 弹窗、抽屉、当前页和新开页,到底怎么选? - 智慧园区
  • 搜维尔科技:Haption触觉力反馈系统,沉浸式远程呈现、数字孪生、混合现实和移动远程机器人
  • 飞书免费企业邮箱推荐
  • sites(legal - Gon
  • 解决推理能力瓶颈,用因果推理提升LLM智能决策
  • 123
  • GitHub Copilot 代码评审:用于自动评审的独立存储库规则
  • 张量链式法则(上篇):任意维度反向传播公式推导与常见算子解析
  • CF739C Alyona and towers
  • qoj1828 TraveLog
  • 基于 YOLOv8 和 Streamlit 搭建视频实时目标跟踪与分割 Web 应用的完整流程
  • java中的回收
  • 20250810 XYD 010 T4
  • Pollard Rho 分解质因数
  • [豪の学习笔记] 软考中级备考 基础复习#7
  • 十、微程序控制器是什么?
  • 2023CCPC秦皇岛站
  • 11
  • 六、数据通路的功能和基本结构
  • 八、CPU控制器的功能和工作原理
  • Linux命令实践
  • Tkinter 多线程并行任务开发:从秒数丢失到完整显示的踩坑与解决
  • AI 机器视觉检测方案:破解食物包装四大质检难题,筑牢食品安全防线
  • NKOJ全TJ计划——NP1397