Loading

7.13 CW 模拟赛 T1. 六出祁山

前言

心态: 冷静, 耐心, 放下
策略: \(50\)
停滞: \(20\)

数据检验, 关键步记录, 简化表述

思路

首先, 如果知道这是一个顺序 \(\rm{dp}\) 那就随便想了
但是场上的我选择了神秘的区间 \(\rm{dp}\)
所以需要在这里区分一下区间 \(\rm{dp}\) 和顺序 \(\rm{dp}\) 的适用范围

首先区间 \(\rm{dp}\) 适用于操作顺序会影响能操作的内容的问题
其次如果操作区间是可以覆盖的, 那么可能会存在通过覆盖操作更优化的做法, 没法顺着做

本题中, 我们显然可以把最终的合法解形态看做是一个数组 \(\delta_i\)
要求 \(\forall i \in [1, n), \left|(h_i + \delta_i) - (h_{i + 1} + \delta_{i + 1})\right| \leq d\)\(\displaystyle\min \left(\sum_{i = 1}^{n} |\delta_i| \right)\)

不妨设 \(f_{i, j}\) 表示前 \(i\) 个元素, 最后一个元素的高度为 \(j\) 时的最小代价
那么显然有

\[f_{i, j} = \min_{k \in [j - d, j + d]} f_{i - 1, k} + \left|h_i - j\right| \]

但是这样的转移是 \(\Theta(n|h||d|)\) 的, 过不去

不过你看到那个绝对值了吗, 这不一眼凸优化
我操了, 这是原题(哭)

posted @ 2025-07-13 20:32  Yorg  阅读(4)  评论(0)    收藏  举报