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

AT_agc014_f [AGC014F] Strange Sorting

你需要手玩一下样例,会发现这样一个事情:

  • 所谓的 high 集合会一直窝在序列的末尾,而且会吸 low 集合的血,所以整个序列在 \(n\) 次操作内必然完成排序。

你再仔细思考一下就会知道:

  • 第一次操作 \(n\) 必然在 high 集合里,第二次操作 \(n - 1\) 必然在 high 集合里,依次类推。且必然会从末尾到开头逐渐排序。

为什么会这样,你考虑到我第一次操作没有选 \(n - 1\) 只可能是前面有一个 \(n\),但是在第二次操作时 \(n\) 必然被移动到最后一个位置,所以会将 \(n - 1\) 加进去,依次类推。

但是我们发现不总是要占满这些操作的,就比如说你第二次操作时 \(n - 1, n - 2\) 都被归位了,那么自然就少用一次操作。

考虑设 \(f_i\) 表示 \([i + 1, n]\) 按照如上方式排序需要的操作次数,但是我们就没有办法转移了。考虑记录一个 \(g_i\) 表示经过 \(f_i - 1\) 次操作后第一个元素是什么,发现其与 \(i, i + 1\) 会形成同构的关系,仔细分类讨论转移即可。

最后一步还是人力不可为之的。

http://www.hskmm.com/?act=detail&tid=79

相关文章:

  • JS常用函数
  • 第8章 STM32CUBE LCD配置和测试
  • git ssh key配置
  • Git的使用方法
  • 一个充气泵方案的主控芯片SIC8833
  • 83、快速制作身份证小方格
  • 微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
  • 数据库的逻辑外键与数据库的物理外键
  • 智能充气泵PCBA方案
  • DeepSeek文案短句:点燃创意火花
  • 如何通过Python SDK 统计Collection
  • 数字设计中的多级同步器(multi-stage synchronizer)
  • 小程序web-view全覆盖问题
  • conda安装虚拟环境或者包时候都一个常见问题--HTTP 000 CONNECTION FAILED(2)
  • debian11 nuitka 打包python3 脚本
  • C++容器内存安全实战:ASan注解逐步指南
  • iOS系统与Windows系统有什么区别?
  • qemu的外部快照原理
  • MySQL触发器
  • OSI 七层协议 和四层协议 TCP 三次握手的过程
  • nvm下载与安装(Windows)
  • 3. pod的生命周期
  • 2. pod基础原理
  • OSI 七层协议 和四层协议
  • 4. pod使用进阶
  • MySQL存储过程
  • 罗氏线圈的 “磁场烦恼”:干扰并非无解,防护有章可循
  • 构造记一下
  • ARC058D 笔记
  • 【IEEE出版】第四届电力系统与电力工程国际学术会议(PSPE 2025)