6.3 CW 模拟赛 T2. n^3过一万
思路
由题目名称知道这要用 \(n^3\) 的算法
考虑一个区间 \(\rm{dp}\), \(f_{l, r}\) 表示区间 \([l, r]\) 的最小最大花费
一个区间的构造情况一定可以被表示为下面两种
- 先将 \([l + 1, r - 1]\) 清空, 然后再删掉 \(l, r\)
- 清空 \([l, k]\), 再清空 \([k + 1, r]\)
这个是简单的 \(\mathcal{O}(n^3)\)
考虑优化
考虑先二分答案, 然后跑可行性, 可以做到 \(\displaystyle \mathcal{O} \left(\frac{n^3\log n}{\omega}\right)\)
总结
最大值最小/最小值最大的问题: 二分答案转化为可行性问题
这种 \([l, k], [k + 1, r]\) 拼起来可以视作从 \(f_k \to f_l\)
这个转化比较巧妙的

浙公网安备 33010602011771号