思路
转化题意移步赛时记录
详细题解见 题解下载
好的那么主要问题仍然是怎样做才能扔掉后效性, 乍一看是不可能的, 但是我们可以慢慢的考虑
首先我们需要利用有效时间段 \(\leq 500\) 这个条件, 我们考虑建出每种选择的情况, 再按照树上的仇恨关系建出图
具体的, 对于每一种 \([j, j + t_i - 1], l_i \leq j \leq r_i - t_i + 1\) 我们都建出一个点, 然后向所有与他有仇恨关系且重合工作段的点连上一个边权为其花费的边 (花费为 \(0\) 边权就设为 \(0\))
这样子搞出来一个 \(G = \{V, E\}, \lvert V \rvert = \omega N\) 的图, 其中 \(\omega \approx 500\) , 特别的, 你发现在树上连出这个图, 图一定是一个 \(\rm{DAG}\)
有了 \(\rm{DAG}\) , \(\rm{dp}\) 是显然的, 不再赘述
回到我们一开始的问题, 这样做如何消除了后效性?
类似于暴力, 这个图考虑完全了所有情况, 每个点在考虑花费时, 点的选择已经确定了, 那么就一定可以得出最优的答案
其实我们还是可以用 \(\color{yellow}{暴力 \Rightarrow 正解}\) 的思路去想, 暴力的 \(20^{10}\) 种可能, 有一些其实是没有必要的, 即他在一些地方已经劣了
还有一个问题是, 我们不能真的开下 \(\omega N\) 大小的图, 必定爆炸, 和之前的很多题一样, 把图变成状态加一维即可, 常见的 \(\rm{trick}\)
实现
不打了
总结
善于转化问题到一个更好解决的地方上
\(\rm{trick}\) : 增维省图, 增图省维