滑蒻稽的博客

【笔记】二分答案的两种形式

\(f(x_1,x_2,\dots,x_n)=(a_1,a_2,\dots,a_n)\),要让 \(\max\{a_1,a_2,\dots,a_n\}\) 最小或 \(\min\{a_1,a_2,\dots,a_n\}\) 最大。

如果直接 DP 考虑让每一个 \(a_i\) 都尽量小,是不满足最优子结构的。如果记上 \(\max\{a_1,a_2,\dots,a_n\}\) 进行 DP,复杂度会爆炸。

二分答案 \(X\),DP 让每一个 \(a_i\) 尽量小,但是在 DP 的过程中让不满足 \(a_i\le X\) 的状态不进行转移。子结构间互不影响,转移到父结构的子结构都满足 \(a_i\le X\) 的限制,DP 正确性就有保证了。

我们刚才讲的是 DP,要 DP 的话转移关系肯定是线性的,树形 DP 或者就最普通的 1D/1D DP 都算。但是像 Nudist Beach 这道题,巧妙地考虑在最优情况下也取不到的点,然后 BFS 扩展删点。

求满足函数 \(f(x_1,x_2,\dots,x_n,T)\ge X\) 成立的 \(T\) 的最小值。

\(T\) 的值域极大,状态记下 \(T\) 就没法 DP。如果二分答案 \(T\),限制就变成了判断 \(f_T(x_1,x_2,\dots,x_n)\ge X\) 是否成立。

posted @ 2022-10-19 08:31  huaruoji  阅读(27)  评论(0编辑  收藏  举报