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

CF2153D

给定 \(n\) 个数 \(a_1 \sim a_n\),这 \(n\) 个数围成一圈,\(a_i\)\(a_{i - 1}, a_{i + 1}\) 相邻(\(a_1, a_n\) 相邻)。每次操作可以将某个数 \(+1/-1\),问至少经过几次操作能使每个数至少和它相邻的一个数相同?

\(45min\)

首先不考虑环的情况。

\(dp_i\) 表示只考虑前 \(i\) 个数的情况下要满足要求的最小操作次数。

显然 \(dp_i\) 可以从任意 \(\le i - 2\)\(j\) 转移过来,但是这显然会 TLE。实际上,\(dp_i\) 只可能从 \(dp_{i - 2}, dp_{i - 3}\) 转移过来,否则可以将 \(a_{i - 1}, a_i\) 变成一样的,剩下的变成一样的显然不劣。

在考虑 \(a_1\)\(a_n\) 相邻这个问题,可以枚举 \(a_1, a_2, a_{n - 1}, a_n\)\(4\) 个数是否有一些相邻(\(a_1, a_n | a_1, a_2, a_n | a_1, a_{n - 1}, a_n\) 三种)。然后强制令它们相同,做 \(4\) 次 DP 即可。

时间复杂度:\(O(n)\)

本以为是断环成链,实际不可行。观察到 \(dp_i\) 只能从 \(dp_{i - 2}, dp_{i - 3}\) 转移就不难了。

http://www.gsyq.cn/news/28773.html

相关文章:

  • 英语_阅读_inspiration for artists_待读
  • Node.js JSON import attributes All In One
  • DeepSeek的“认知提纯”能力解析
  • Plya 定理学习笔记 | ABC428G 题解
  • 告别繁琐排版!揭秘2025年公众号推文排版top1神器
  • leetcode1. 两数之和、15. 三数之和、18. 四数之和
  • vue3+elementPlus el-date-picker 自定义禁用状态hook 建立结束时间不能小于开始时间
  • 【做题记录】贪心--提高组
  • 【为美好CTF献上祝福】 New Star 2025 逆向笔记
  • XXL-JOB(5)
  • Ramanujan Master Theorem
  • 【周记】2025.10.13~2025.10.19
  • C++案例 自定义数组
  • 20251023周四日记
  • ord() 函数
  • Redis中的分布式锁之SETNX底层实现
  • 2025家纺摄影公司推荐,南通鼎尚摄影专注产品视觉呈现
  • 求函数
  • Python---简易编程解决工作问题
  • MPK(Mirage Persistent Kernel)源码笔记(1)--- 基础原理
  • 背包dp(1)
  • 比赛题解 总结
  • 1019:浮点数向零舍入(分正负取整)
  • 创建 SQL Server 数据库【通用】
  • HNSW算法实战:用分层图索引替换k-NN暴力搜索
  • Spring Boot 自动配置之 TaskExecutor - 实践
  • 二分图/忆re.
  • 《IDEA 2025长效采用配置指南:有效期配置至2099年实战之JetBrains全家桶有效》​
  • 如何制作PDF文件目录? - 详解
  • todesk远程到被控Mac后能看到画面,鼠标键盘执行无反应