Loading

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\)
这个转化比较巧妙的

posted @ 2025-06-03 19:23  Yorg  阅读(18)  评论(0)    收藏  举报