Logo ryp 的博客

博客

P3157 [CQOI2011] 动态逆序对 分析

...
ryp
2025-12-01 12:50:18
She's not square

本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2024-02-13 21:39:07

首先离线,将时间抽为第三维,然后我们考虑每一次的删除会导致逆序对减少多少。

我们设每个点的第一维 $x_i$ 为它被删除的时间(或正无穷),第二维 $y_i$ 是它的下标,第三位 $z_i$ 是值,那么一个点 $p$ 被删除后,逆序对减少的数量,就是使得 $x_p \le x_q, \space y_p \lt y_q, \space z_p \gt z_q$ 或者 $x_p \le x_q, \space y_p \gt y_q, \space z_p \lt z_q$ 的 $q$ 的数量。

于是我们的问题就变成了三维偏序:先算出初始的逆序对数量(这时候是个二维偏序),然后统计在每一个时间上上面两个偏序的总数量,相减即可。

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。