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

P13535 [IOI 2025] 纪念品(souvenirs)

窥见其门径。

容易发现 \(5000\) 次操作就是个假的,你把 \(p\) 在规定范围内求出来之后就随便做了。

根据经典结论,将每个点的限制转成若干个起始位置不同的后缀进行查询,容易发现可能查询查不满,但一定不会超,且卡了最紧的上界。

也就是说我们现在需要让每个 \(i\) 都作为一次查询的最初位置,并且需要查询出所有 \(p\) 的值。

首先想一想第一次怎么操作而合法,为了保险起见我们必须选 \(p_0 - 1\),因为不能比最大的大不能比最小的小。

然后我们想接下来怎么办,我们需要使下一次不选 \(1\)(因为第一次 \(1\) 肯定选完了),同时不能低于下界,我们选择平均数查询。观察这个过程,其实就是每次将初始位置向后挪,一直到 \(n - 1\)

这时我们可以很容易求出 \(n - 1\) 的值,考虑如何反推。

我们继续如上过程,不过如果一个方程里有 \(p_{n - 1}\),我们将其化作常量,不计入平均数中,相当于将规模从 \(n - 1 \to n - 2\),顺水推舟的求出 \(p_{n - 2}\)。以此类推,求出所有 \(p\) 就做完了。

感觉这种题有点跟出题人对做法,但是放在 IOI 里就不奇怪了。

http://www.sczhlp.com/news/6090/

相关文章:

  • 网络直播:Windows日志记录、Sysmon与ELK堆栈技术解析
  • OpenCV入门(11):图像的几何变换(缩放、旋转、平移、翻转)
  • Unity使用Sqlite时对于null字段的异常处理
  • 2025 08 05
  • 非传统题与随机算法(续)
  • P3951 (同余) 小凯的疑惑
  • Spring Boot + Apache Tika 实现文档内容解析
  • hive中lateral view 侧视图将单行转成多行(切分字符串)
  • Web 组态,你确定只差 1 个前端图形库?
  • 【UG/NX】单组件装配体拆分正常多组件装配体
  • CF1396B Stoned Game
  • 人生有时候真的可以简单一点- 人生拒绝清单读后感
  • mongo学习
  • SBOM、SCA、SLSA区别
  • 必看!导致事务失效的7大典型场景!
  • 【C++】模板元
  • 短视频app系统开发功能细节剖析
  • 2025ChinaJoy记录
  • 关于jpg文件格式的一个情景-第一篇
  • 使用AndroidUSBCamera库开发安卓多摄像头预览和录制应用
  • 题解:[NOIP2024] 树的遍历
  • Linux驱动介绍
  • 用户行为分析入门:行为事件分析指标解读
  • 海康大华硬件解码器如何配置GB28181对接LiveGBS国标GB28181监控视频平台,实现将监控平台的视频通过GB28181给硬件解码器解码上墙
  • 宏基因组组装
  • 4444
  • Flutter02-布局
  • 神经网络编码提升音频丢包恢复效率
  • 收藏!2025年国家自然科学基金标书合集(320份)
  • 双向链表插入节点,常用方法分析与口诀速记