1 条题解
-
0
何老师 (root) LV 0 MOD @ 2019-10-15 15:11:43
思维分析题
稍加分析可以知道,从后向前如果出现第一个逆序对:P[i-1]>P[i]时,意味着P[i]..P[N]都是由小到大的,则P[i-1]需要向后调整,而P[i-1]要向后调整,则必须要把P[i-1]移动到第一个才行,所以H老师依次向P[1],P[2],…,P[i-1]发指令,而对于每次指令,都可以把当前执行指令的学生调整到他应有的位置上去!
例如:3 2 7 4 1 5 6 倒数的第一个逆序对是<4,1>,因此需要对3,2,7,4依次下指令:
对3,让向后移动4步,变成2 7 4 1 3 5 6;
对2,让他向后移动3步,变成7,4,1,2,3,5,6;
对7,让他向后移动6步,得到4,1,2,3,5,6,7;
对4,让他向后移动3步,得到1,2,3,4,5,6,7。由此,此题的答案就是P[N]开始向前寻找第一个逆序对,假设是P[i-1]>P[i],则Ans=i-1。
- 1