Files
python/TangDou/Doc/逆序对.txt

13 lines
655 B
Plaintext
Raw Normal View History

2025-08-30 18:35:01 +08:00
北京航空航天大学教授讲解, 非常清楚
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/