P9596 [JOI Open 2018] 冒泡排序 2 / Bubble Sort 2
容易注意到答案就是 \(\max_i \sum_{j < i} [a_j > a_i]\)。
这个东西不难发现是二维数点,可以树套树做,然而有更好的性质。
令 \(f_i = \sum_{j < i} [a_j > a_i], g_i = i - f_i\),注意到 \(i < j, a_i \ge a_j\) 时,总有 \(f_i < f_j\),考虑令 \(g_i = \sum_j [a_j \le a_i]\),答案就变为了 \(\max_i i - g_i\),这个东西取 \(\max\) 只会更大不会更小,所以是对的。
然后用一个权值线段树维护一下即可,这种题感觉还是蛮好的。

浙公网安备 33010602011771号