逆序對 【線段樹解法】
求逆序對問題是乙個十分經典的演算法問題,通常使用歸併排序解決,經gster大神指點,寫出了逆序對線段樹寫法,順便練了練線段樹。
題目傳送門:
**:
1/*2segment_tree
3author: shhhs
42016-09-28 12:35:17 5*/
6 #include "
bits/stdc++.h"7
8using
namespace
std ;
9 typedef long
long
qaq ;
10const
int maxn = 100100;11
struct segtree ;
1213 segtree tr[ maxn<<2
] ;14
intarr[ maxn ] ;
15void build_tree ( int x , int y , int
i ) 23}
2425
void insert_tree ( int q , int
i )
30else
35 tr[ i ].sum = tr[ i<<1 ].sum + tr[ i<<1|1
].sum ;36}
3738 qaq query_tree ( int q , int w , int
i )42
else49}
5051
intmain ( )
62 printf ( "
%lld
", ans ) ;
63return0;
64 }
a703 求逆序對 線段樹的解法
time limit 10 second memory limit 2 mb 問題描述 給定乙個序列a1,a2.an。如果存在i小於j 並且ai大於aj,那麼我們稱之為逆序對,求給定序列中逆序對的數目 第一行為n,表示序列長度,接下來的n行,第i 1行表示序列中的第i個數。所有逆序對的總數 432 ...
a703 求逆序對 線段樹的解法
time limit 10 second memory limit 2 mb 問題描述 給定乙個序列a1,a2.an。如果存在i小於j 並且ai大於aj,那麼我們稱之為逆序對,求給定序列中逆序對的數目 第一行為n,表示序列長度,接下來的n行,第i 1行表示序列中的第i個數。所有逆序對的總數 432 ...
洛谷P1908 逆序對(線段樹解法)
貓貓tom和小老鼠jerry最近又較量上了,但是畢竟都是成年人,他們已經不喜歡再玩那種你追我趕的遊戲,現在他們喜歡玩統計。最近,tom老貓查閱到乙個人類稱之為 逆序對 的東西,這東西是這樣定義的 對於給定的一段正整數序列,逆序對就是序列中ai aj且i第一行,乙個數n,表示序列中有n個數。第二行n個...