pro:长度为n(10^5)的序列中,求解长度为m(m<n)的连续子序列的逆序对的数量。(共有n-m+1个子序列)
solution:对于某段序列求解逆序对数量,已知知识解决最优就是nlogn级别的,但注意这n-m+1个子序列是有一些联系的,或者说树状数组的一些状态是可以继承而来的,对于[l,r],得到[l,r]的状态以后,如何更新[l+1,r+1],假设[l,r]有ans个逆序对,我们只需要去掉a[l]的贡献即可,即c[a[l]-1],然后执行树状数组中的add(a[l],-1)即可,再把a[r]加进来就可以。
复杂度(n*log(maxa[i]))
探讨了在长度为n的序列中,高效求解所有长度为m的连续子序列的逆序对数量的方法。利用树状数组进行状态继承与更新,实现O(n*log(maxa[i]))的时间复杂度。
1672

被折叠的 条评论
为什么被折叠?



