1. 程式人生 > >A1-2017級演算法上機第一次練習賽 H 模式尋對

A1-2017級演算法上機第一次練習賽 H 模式尋對

概念回顧

逆序對:數列a[0],a[1],a[2]…中的任意兩個數a[i],a[j]

 

如果i<j, 並且a[i]>a[j],

 

那麼我們就說這兩個數構成了一個逆序對。

 

逆序數:一個數列中逆序對的總數。

題目描述

輸入一個正整數n,隨後給出一個長度為n的整數序列 a[0],a[1],a[2],...,a[n-1] ,再給定多組陣列下標範圍,求給定序列的逆序數。

輸入

多組測試資料(不超過10),以EOF結尾。

每組測試資料第一行為陣列長度n,正整數,代表陣列長度,資料範圍為0<n<=10000

第二行為n個整數,為陣列

an,保證陣列中每個數在int範圍內。

第三行為一個整數t,代表t次查詢,0<t<=1000

接下來t行,每行兩個數xy,代表陣列下標區間,保證0<=x<=y<=n-1

輸出

對於每次查詢,輸出一行,每行一個數,代表所求逆序數。

具體參見樣例。

輸入樣例

5
4 8 4 0 0
3
0 4
2 4
0 2

輸出樣例

7
2
1

提示

使用時間複雜度為O(n2)O(n2) 的演算法會超時。

聯絡下歸併排序~

思路