当前位置: 首页 > 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.hskmm.com/?act=detail&tid=37679

相关文章:

  • 20232417 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • iPhone口袋状态检测技术揭秘
  • 搜维尔科技:IROS 2025现场,触觉力反馈、数据手套遥操作机器人灵巧手平台系统解决方案
  • 一些题解
  • Node.js JSON import attributes All In One
  • DeepSeek的“认知提纯”能力解析
  • 梦熊知更鸟赛水题题解合集 (两个人的演唱会 使一颗心免于哀伤 空气蛹)
  • CF2154D
  • Plya 定理学习笔记 | ABC428G 题解
  • 第十八天
  • 第十七天
  • vue3+elementPlus el-date-picker 自定义禁用状态hook 建立结束时间不能小于开始时间
  • [优先队列] P3611 [USACO17JAN] Cow Dance Show S 题解
  • 搜维尔科技将携手Xsens|Haption|Tesollo|Manus亮相IROS 2025国际智能机器人与系统会议
  • 【做题记录】贪心--提高组
  • 如何炫酷地使用集合划分容斥
  • 简单云计算算法--20251023
  • 处理空输入踩的坑
  • latex输入公式
  • 【为美好CTF献上祝福】 New Star 2025 逆向笔记
  • XXL-JOB(5)
  • 蛋白表达原理与关键要素解析
  • Ramanujan Master Theorem
  • 顾雅南的声音美化课堂
  • C++案例 自定义数组
  • 【周记】2025.10.13~2025.10.19
  • 背包
  • 10.23《程序员修炼之道 从小工到专家》第二章 注重实效的途径 - GENGAR
  • 玩转单片机之智能车小露——LED闪烁实战
  • ord() 函数