萌新求助树状数组

学术版

@[FengJingFJ2022](/user/576077) 好像没太明白您的意思/yiw 直接用 query 有什么问题吗
by XeCtera @ 2022-12-08 20:04:38


@[icyM3tra](/user/38785) 想问为什么能这么做
by Feng_Jing @ 2022-12-08 20:09:11


@[FengJingFJ2022](/user/576077) 因为它是倒序遍历
by lsj2009 @ 2022-12-08 20:14:54


@[icyM3tra](/user/38785) 是不是这样 比如说数组 ```1 4 2 8 5 7``` 离散化以后变成 ```1 3 2 6 4 5``` 然后让实现树状数组的数组 $t$ 依次加上最大的数 变成 ```0 0 0 1 0 0``` 做 $1-3$ 的前缀和是 $0$ ```0 0 0 1 0 1``` 做 $1-5$ 的前缀和是 $1$ ```0 0 0 1 1 1``` 做 $1-4$ 的前缀和是 $1$ 以此类推?
by Feng_Jing @ 2022-12-08 20:14:57


@[FengJingFJ2022](/user/576077) 是的 $a_j$ 位置的 $1$ 被 ${\rm query}(a_i)$ 统计到,当且仅当 $a_j<a_i$ 并且 $j>i$ (倒着扫,编号大的先加入),也就是 $(a_i,a_j)$ 是一个逆序对
by XeCtera @ 2022-12-08 23:08:52


|