在分治策略中,我们递归求解一个问题,每层递归中应用如下三个步骤:
分解(Divide): 将问题划分为规模更小的子问题
解决(Conqquer):递归求解子问题。如果子问题规模足够小,则停止递归,直接求解
合并(Combine): 将子问题的解组合为原问题的解
最大子数组问题:
最大子数组必然是一下三种情况之一:
1.完全位于子数组A[low...mid]中,因此 low=< i =< j =< mid
2.完全位于子数组A[mid+1...high]中,因此 mid< i =< j =< high
3.完全位于子数组A[mid+1...high]中,因此 low =< i =< mid < j =< high
统计逆序数