逆序
题意:
给你两个数组,每个数组有n个字串(两个数组的字串是一样的,只是顺序不同)
若果第二个数组的某对字串,在第一个数组也是同样的序(顺序或逆序的意思),那么就加一分
问总分和有可能的总分上限
数据范围:
n<=2500
思路:
就是求顺序对嘛,也就是求逆序对数嘛
输入第一个数组的时候,建一个映射,每个串就映射到它是第几个输入的.然后输入第二个数组的时候,在映射中找到值,把值对应存放到一个新的数组中.那么,求新的数组的逆序对数,就是原来要求的逆序对数.这样做的目的是,字串的排序比较慢,整数就快很多
求逆序对数当然用归并排序啦,O(nlogn)
题意:
给你两个数组,每个数组有n个字串(两个数组的字串是一样的,只是顺序不同)
若果第二个数组的某对字串,在第一个数组也是同样的序(顺序或逆序的意思),那么就加一分
问总分和有可能的总分上限
数据范围:
n<=2500
思路:
就是求顺序对嘛,也就是求逆序对数嘛
输入第一个数组的时候,建一个映射,每个串就映射到它是第几个输入的.然后输入第二个数组的时候,在映射中找到值,把值对应存放到一个新的数组中.那么,求新的数组的逆序对数,就是原来要求的逆序对数.这样做的目的是,字串的排序比较慢,整数就快很多
求逆序对数当然用归并排序啦,O(nlogn)
总结:归并排序求逆序对数