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

NOIP2025加训

CF1610E AmShZ and G.O.A.T.

最少删除元素个数转化为最多保留元素个数。考虑不合法序列的性质。
发现严格大于平均数的元素个数与严格小于平均数元素个数的关系可以与该序列中点位置的数联系在一起,显然的,对于 \(\{c_k\}\),该序列是不合法的,则有 \(c_{\left \lceil \frac{k}{2} \right \rceil} > \frac{\sum c_i}{k}\)

考虑更简化的情况,对于 \(k = 1,2\) 的情况,序列一定是好的。
对于 \(k = 3\),据上式可得 \(2 \cdot c_2 > c_1 + c_3\) 等价于该序列是坏的。
此处存在一个结论:一个序列是好的,充要条件是不存在长度为 \(3\) 的子序列是不合法的。必要性显然,考虑其是否充分,对于一个不合法的序列,若其不存在长度为 \(3\) 的不合法子序列,则 \(\forall i,c_i + c_{k - i + 1} \ge 2 \cdot c_{\left \lceil \frac{k}{2} \right \rceil}\),对其求和有 \(\sum\limits_{i = 1}^{k} c_i + c_{k - i + 1} \ge c_{\left \lceil \frac{k}{2} \right \rceil} \cdot 2k\),化简式子得到 \(c_{\left \lceil \frac{k}{2} \right \rceil} \le \frac{\sum c_i}{k}\),因为该序列是不合法的,所以应有 \(c_{\left \lceil \frac{k}{2} \right \rceil} > \frac{\sum c_i}{k}\),矛盾。

得证一个不合法的序列一定存在长度为 \(3\) 的不合法子序列,故一个坏的序列一定存在长度为 \(3\) 的不合法子序列,反之若不存在长度为 \(3\) 的不合法子序列,该序列一定不是坏的,即是好的。充要性得证。

所以判断当前序列是否是好的,只需要检查是否存在长度为 \(3\) 的子序列不合法即可。
贪心地去考虑,每次钦定最终序列的最小值 \(mn\),将原序列最大值加入,令其为 \(p\),此时只需要找到最大的 \(mn \le c_i \le \frac{mn + p}{2}\),则可以将 \(c_i\) 加入,并令 \(p = c_i\),重复该二分过程,这样构造出的答案一定不劣。另外还能注意到仅每次枚举的最小值能够多次出现,不然会不合法。

时间复杂度 \(\mathcal{O(n \log V \log n)}\),因为每次加入 \(c_i\) 更新后 \(p\) 至少减半,存在一只 \(\log V\)

http://www.jsqmd.com/news/31523/

相关文章:

  • 20232427 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • Windows 系统下通过 VMware 17 安装 macOS 的教程
  • 【Redis】实操:cluster集群部署
  • 2025.11.4 - A
  • 移动通信基站
  • kaggle提交 名字不是submission.csv的提交方法
  • 实用指南:【Nest】登录鉴权
  • 程序员修炼之道:从小工到专家-2
  • 设计模式--外观模式:简化繁琐环境的统一接口
  • 从零实现3D Gaussian Splatting:完整渲染流程的PyTorch代码详解
  • NOIP2025模拟1
  • 文生视频时代,RustFS如何成为AI资产库的最佳底座?
  • HTTP 与 SOCKS5 代理协议:企业级选型指南与工程化实践
  • NOIP2025 游记
  • 用 CodeBuddy CLI + Prompt,从零到可运行:前后端混合管理强大的系统的高效实战
  • P16.土堆说卷积(可选看)
  • 25.11.4联考题解
  • d11.4t4 answer
  • 详细介绍:当AI化身数据炼金术士:初级Python开发者如何将创意炼成黄金代码?—— 老码农的炼金术指南
  • 【学习笔记】kafka权威指南——第3章 kafka生产者—向kafka写入资料
  • P15.神经网路的基本骨架——nn.Module的使用
  • function
  • AGC052做题记录
  • 软工团队第一次作业
  • Windows11-GPT
  • 1. markdown转word 第一步: markdown转html
  • P14.Dataloader的使用
  • docker换源
  • pypinyin很好用
  • 小九源码-springboot078-java物业管理架构