CodeForces - 765F
不妨套用P9058的套路,记点对 \((i,j),a_i \ge a_j\) 被支配当且仅当存在 \(i<k<j\),满足\(a_i \ge a_k \ge a_j\) ,同样,猜测对于\(i\),不被支配的点对 \((k,i)\) 只满足 \(k<i\) 最大且 \(a_k>a_i\)。
证明不妨使用反证法,记 \(pre\),满足 \(pre<j<i\) 且 \(a_{pre},a_j>a_i\),假设 \((pre,i)\) 不被支配。
由上得:\((pre,j)\) 权值为 \(|a_j-a_{pre}|\),\((j,i)\) 权值为 \(a_j-a_i\),\((pre,i)\) 权值为 \(a_{pre}-a_i\)。
结论得证的条件是 \((pre,i)\) 被支配,此时却无法确定了,所以结论实际上是不成立的。
我们不妨沿此思路继续想下去,发掘满足条件的 \(pre\) 的性质。
考虑固定 \(i\),首先上述的点对 \((k,i)\) 一定是不被支配的,在区间 \([1,k)\) 中,记 \(pre\) 为 \((pre,i)\) 比 \((k,i)\) 更优的位置,满足 \(pre<k,a_i<a_{pre}<a_k\)
要想不被支配,要满足在 区间 \([pre,i]\) 中没有更优的左端点且不被 \((pre,k)\) 支配,条件有:
\[a_{k}-a_{pre}>a_{pre}-a_i
\]
整理得:
\[a_i<a_{pre}<\frac{a_i+a_k}{2}
\]
继续找下去,发现每次值域减半,得出结:对于 \(i\),最多只有 \(log V\) 个有效的左端点。
对于点对 \((i,j),a_i\le a_j\) 同理。
上述过程可使用可持久化权值线段树维护,统计答案二维数点,总复杂度 \(O(nlogVlogn+mlogn)\)