一个只和相对大小有关的 trick
考虑一种只关心相对大小的问题,我们若能把值转化为 \(0\) 和 \(1\),便能更容易处理。
P2824 排序
发现区间排序不容易维护,考虑二分答案,以此为界将值转为 \(0\) 和 \(1\),之后排序变为区间覆盖,容易维护。
P10813 换
dp 部分:发现 \(V\) 没用,记 \(f_{i, S}\) 表示有 \(i\) 种不同的数,相对大小为 \(S\) 的合法方案数,给出转移式子 \(f_{i, S} = \sum_{T \subsetneqq S} f_{i - 1, T}\),若 \(S\) 不合法,则 dp 值为 \(0\)。考虑第一维的转移,相当于从大到小将一些数赋上一些值,之后这些数肯定比新赋值的数大,可以直接记为 \(1\)。
可以使用高维前缀和做到 \(O(2 ^ n(n ^ 2 + m))\) 时间复杂度。

浙公网安备 33010602011771号