光榮的夢想 (樹狀陣列求逆序數和)

2021-08-08 20:26:21 字數 857 閱讀 7918

題目描述

prince對他在這片大陸上維護的秩序感到滿意,於是決定啟程離開艾澤拉斯。在他動身之前,prince決定賦予king_bette最強大的能量以守護世界、保衛這裡的平衡與和諧。在那個時代,平衡是個夢想。因為有很多奇異的物種擁有各種不穩定的能量,平衡瞬間即被打破。kb決定求助於你,幫助他完成這個夢想。 

一串數列即表示乙個世界的狀態。 

平衡是指這串數列以公升序排列。而從一串無序數列到有序數列需要通過交換數列中的元素來實現。kb的能量只能交換相鄰兩個數字。他想知道他最少需要交換幾次就能使數列有序。

輸入第一行為數列中數的個數n,第二行為n <= 10000個數。表示當前數列的狀態。

輸出輸出乙個整數,表示最少需要交換幾次能達到平衡狀態。

樣例輸入

42 1 4 3

樣例輸出

分析:題意只能相鄰兩個數交換,乙個數如果在第i個位置,要換到第j個位置交換次數是|i-j|,樹狀陣列求逆序數的和即可。

#include#include#include#includeusing namespace std;

typedef long long ll;

const int mod=1234567;

const int maxn=1e4+100;

int a[maxn],t[maxn],c[maxn];

int n;

int lowbit(int x)

void update(int x,int val)

int getsum(int x)

int main()

printf("%d\n",sum);

}return 0;

}

複習 樹狀陣列求逆序對 光榮的夢想

題目描述 prince對他在這片大陸上維護的秩序感到滿意,於是決定啟程離開艾澤拉斯。在他動身之前,prince決定賦予king bette最強大的能量以守護世界 保衛這裡的平衡與和諧。在那個時代,平衡是個夢想。因為有很多奇異的物種擁有各種不穩定的能量,平衡瞬間即被打破。kb決定求助於你,幫助他完成這...

樹狀陣列求逆序數

逆序數就是數中各位在它前面有多少個數比它大,求出這些元素個數之和。今天看了個樹狀陣列,可以很好的解決這個問題,普通方法需要o n 2 複雜度,用樹狀陣列只需要o nlongn 樹狀陣列實際上還是乙個陣列,只不過它的每個元素儲存了跟原來陣列的一些元素相關的結合值。若a為原陣列,定義陣列c為樹狀陣列。c...

樹狀陣列求逆序數

chikachika說希望和我一起做學園偶像的時候,我真的很開心。watanabeyouwatanabeyou 曜是千歌的青梅竹馬,但是aqoursaqours成立以後,千歌似乎總是與梨子在一起,而把曜冷落了。為了讓千歌知曉自己的心意,曜醬決定做一件大事!她決定把乙個給定的11 nn的排列 1 ai...