树状数组求逆序对

 时间:2024-10-14 06:20:04

逆序对,普通方法数O(n^2)n>=10000就超时了,树状数组可以在O(nlogn)时间内做出。

离散化

1、离散化的思路就是排序,然后就可以将十分大的数变小,而指向位置关系没有变,“逆向”求逆序对,其中,第i个数表示第i大的数在哪

树状数组求逆序对

2、代码如下

树状数组求逆序对

求值

1、先给大家看看代码:

树状数组求逆序对
树状数组求逆序对

2、为什么是这样写?我们来模拟一下。

树状数组求逆序对

3、其实这个树状数组的结点记录的是≤它的数量,其中,大于的=当前总数-小于等于的,下图表示每个结点的“贡献”

树状数组求逆序对

4、把这两段结合起来,就是一个完整的代码

树状数组求逆序对
  • 如何确定需求测试的要点?
  • winsock建立连接
  • Eclipse如何用aptana模拟用户注册信息提交校验
  • win10怎么在桌面创建一个笔记或者便笺
  • 如何java获取当前日期
  • 热门搜索
    节约水资源手抄报 呵护心灵手抄报 让妈妈露笑脸手抄报 有关中国梦的手抄报 一年级数学手抄报内容 母爱手抄报内容 动物世界手抄报 知法守法手抄报 感恩老师的手抄报内容 关于童话故事的手抄报