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

P14062 【MX-X21-T7】[IAMOI R5] 若我不曾见过太阳 题解

考虑对于每个 \(i\) 求出使 \([1,i]\) 全部排到 \([i+1,n]\) 之前的最小操作次数。将 \(\le i\) 的数视为 \(0\)\(>i\) 的数视为 \(1\),根据操作的顺序,位置差较大的 \((1,0)\) 有序对会优先被交换。

也就是说,每次只可能将最左边的 \(1\) 和最右边的 \(0\) 交换。找到位置 \(\le i\) 的最靠右的 \(1\) 和位置 \(>i\) 的最靠左的 \(0\),答案即为这些位置差的最小值。直接对每个 \(i\) 暴力往左右扫可以获得 \(\tt 50\) 分。用树状数组 \(\mathcal O(n\log n)\) 维护常数较小,可以获得 \(\tt 100\) 分。

发现当 \(i\) 增大 \(1\) 或减小 \(1\) 时,左右第一个 \(1,0\) 的位置最多只会移动一位,直接扫描线求即可,时间复杂度 \(\mathcal O(n)\)

http://www.zskr.cn/news/10854.html

相关文章:

  • 一套自用的git提交规范,可清晰的识别到关联的任务/bug - 实践
  • 撕开厂商锁定黑箱:MyEMS 如何用开源代码夺回能源管理的 “自主控制权”?
  • C造桥与砍树
  • Keil uVision5 MDK 5.42安装教程(支持ARM Cortex全系列开发)
  • 从Void到Task<PublishAggregateResult>:一次服务方法返回类型重构的纠结与决策
  • jenkins job的configure中配置git时 选择的credential为什么不能选择secret认证方式的数据
  • Day21继承
  • 实用指南:科研绘图Origin百度云盘下载与安装指南
  • 题解:P8300 [COCI 2012/2013 #2] INSPEKTOR
  • SuperHarness-3D低压柜机电协同设计方案!
  • 详细介绍:.NET驾驭Word之力:打造专业文档 - 页面设置与打印控制完全指南
  • vim 入门教学4(命令行模式教学)
  • 使用.NET标准库实现多任务并行处理的详细过程 - 实践
  • 模型训练中 平均损失值和平均准确率的深入理解
  • 一篇了解 Git 运用方式
  • torch.max函数在分类问题中的使用 学习
  • react native 国际化 react-i18next 和 i18n,运用高级组件的形式。 - 指南
  • react性能优化
  • Gitee如何重塑中国开发者的代码托管体验
  • 模块化面向对象 2章
  • Debezium + Kafka + Flink/Doris Stream Load 实时数仓
  • 实用指南:【Makefile】Linux内核模块编译
  • Gitee DevOps平台:中国企业数字化转型的代码管理新范式
  • 幂运算与航班中转的奇妙旅行:探索算法世界的两极 - 实践
  • 论Linux安装后需要进行的配置
  • 51单片机-驱动DS1302时钟芯片模块教程 - 实践
  • 数组和链表读取、插入、删除以及查找的区别
  • 在K8S中,日志分析工具有哪些可以与K8S集群通讯?
  • 【2025最新教程】Claude Code国内使用_保姆级新手安装使用教程_最强AI编程工具
  • 如何计算sequence粒度的负载均衡损失 - 教程