13 lines
655 B
Plaintext
13 lines
655 B
Plaintext
北京航空航天大学教授讲解, 非常清楚
|
||
https://www.ixigua.com/6852470382776025603?id=6852450934203613710
|
||
逆序对有三部分组成:
|
||
S1:两个数都出现在左侧
|
||
S2:两个数都出现在右侧
|
||
S3:两个数分别出现在左侧和右侧
|
||
|
||
观察整个归并的过程,发现其实从最底层起,每个S3,其实就是由S1和S2“贡献”后出现的,就是说,我们如果一直记录了S3,那么就是S1+S2+S3
|
||
|
||
而在q[i]>q[j]时,tmp[k++]=q[j++]就是逆序的过程,就是需要记录的S3.而这个值是 ans+=mid-i+1;
|
||
可以用数列: 4 6 8 3 5 进行模拟
|
||
|
||
https://www.acwing.com/solution/content/18376/ |