逆序數 51nod 1019 歸併 分治

2022-09-07 13:27:09 字數 1106 閱讀 8005

在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。

如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序數是4。給出乙個整數序列,求該序列的逆序數。

input

第1行:n,n為序列的長度(n <= 50000)

第2 - n + 1行:序列中的元素(0 <= a[i] <= 10^9)

output

輸出逆序數
input示例

424

31

output示例

4

看程式吧 不會講

1 #include 2

using

namespace

std;

3 #include

4 #include

5 #include6 #include7 #include8 #include9 #include10 #include11 #include12 #include13 #include 14 #include 15 #include16 #include17

int a[51000

];18

int b[51000

];19

long

long sum=0;20

void dfs1(int kaishi,int zhongjian,int

jieshu)

2136}37

while(i<=zhongjian)

3841

while(j<=jieshu)

4245

for(i=kaishi;i<=jieshu;i++)

46 a[i]=b[i];47}

48void dfs(int kaishi,int

jieshu)

4957}58

intmain()

5967 dfs(0,n-1

);68 cout

69return0;

70 }

view code

歸併排序 51nod 1019 逆序數

後面的總結可能有錯誤的地方 發現請指出 畢竟 也是從別人呢裡搬的有 也有自己的總結!1019 逆序數 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱...

逆序數(51Nod1019) 歸併排序

1019 逆序數 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序數...

51Nod 1019 逆序數 歸併排序

1019 逆序數 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序數...