诚然,$O(n^2)$的做法可以水过去,不过蒟蒻水了一发树状数组。
树状数组复杂度为$O(NlogN)$,非常完美。
我们先离散化数组,改用第几大来代替每次按原输入的数组,那么我们只要用树状数组来维护有几个比这个数大就行了,不过对于从左到右和从右到左,我们需要做两遍。代码(除了我的快读快输)也很短。
1 |
|
Code for more
诚然,$O(n^2)$的做法可以水过去,不过蒟蒻水了一发树状数组。
树状数组复杂度为$O(NlogN)$,非常完美。
我们先离散化数组,改用第几大来代替每次按原输入的数组,那么我们只要用树状数组来维护有几个比这个数大就行了,不过对于从左到右和从右到左,我们需要做两遍。代码(除了我的快读快输)也很短。
1 | #include<bits/stdc++.h> |