题解

1 条题解

  • 0
    @ 2017-10-07 13:33:38

    观察两个数t,k,假设t<k,那么对于所有的区间[l,r],l<=t,r>=k,t都会对t做出一份贡献。即化为求有多少个区间包含了这两个数字,而这个数字是可以直接用排列组合法算出来的,O(1)。然后再统计对于每一个数字的前面有多少个数字是比它小的,然后再进行计算。总的时间复杂度为O(n^2)。但我们发现1000000的数据即使两秒也是过不了的,然后我们可以用树状数组来维护比某一个数小的所有下标总和,最终的时间复杂度是O(nlogn)然后就KO啦。

  • 1

信息

难度
9
分类
(无)
标签
(无)
递交数
2
已通过
1
通过率
50%
上传者