逆序數
樹狀陣列
void sol()
{
for(int i=1;i<=n;++i) bs[i]=0;
for(int i=1;i<=n;++i)
scanf("%d",a+i),g[i]=a[i];
sort(g+1,g+1+n);
for(int i=1;i<=n;++i)
a[i]=n+1-(lower_bound(g+1,g+1+n,a[i])-g);
ll ans=0;
for(int i=1;i<=n;++i)
{
for(int j=a[i]-1;j>=1;j-=j&-j) ans+=bs[j];
for(int j=a[i];j<=n;j+=j&-j) ++bs[j];
}
printf("%lldn",ans);
}
歸併
const int N = 1010;
int a[N];
int c[N];
int cnt = 0;
void MergeSort(int l, int r)
{
int mid, i, j, tmp;
if (r > l + 1)
{
mid = (l + r) / 2;
MergeSort(l, mid);
MergeSort(mid, r);
tmp = l;
for (i = l, j = mid; i < mid && j < r;)
{
if (a[i] > a[j])
{
c[tmp++] = a[j++];
cnt += mid - i;
}
else
{
c[tmp++] = a[i++];
}
}
if (j < r)
{
for (; j < r; ++j)
{
c[tmp++] = a[j];
}
}
else
{
for (; i < mid; ++i)
{
c[tmp++]=a[i];
}
}
for (i = l; i < r; ++i)
{
a[i] = c[i];
}
}
return ;
}
©著作權歸作者所有:來自51CTO部落格作者qinXpeng的原創作品,如需轉載,請註明出處,否則將追究法律責任
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2819729/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 逆序對的數量
- G - 逆序對的數量
- 逆序的三位數
- 逆序對的數量 - 題解
- 788. 逆序對的數量
- AcWing 788. 逆序對的數量
- 逆序對的數量(歸併排序模板)排序
- 逆序排列
- 7-1將陣列中的數逆序存放陣列
- 陣列元素逆序陣列
- 連結串列逆序
- 逆序輸出字元字元
- JavaScript字串逆序排列JavaScript字串
- P1908 逆序對
- 聯賽模擬測試5 平均數 二分答案+逆序對
- 第三章:查詢與排序(下)----------- 3.14 逆序對個數排序
- 【SSLOJ 3347】動態逆序對
- 逆序對《演算法很美》演算法
- 陣列中的逆序對陣列
- 將一個整數逆序輸出·正序輸出它的每一位數字
- rust-algorithms:16-字元逆序RustGo字元
- 樹狀陣列和逆序對陣列
- 求逆序對(介紹+題目)
- [CQOI2011] 動態逆序對
- abc284F 字首+逆序+字尾
- HDU 2689 【歸併排序求逆序對】排序
- 歸併排序的經典-求逆序對排序
- JZ-035-陣列中的逆序對陣列
- 求逆序對的各種演算法演算法
- 演算法之逆序對兒查詢演算法
- python對指定字串逆序的6種方法Python字串
- 編寫函式:遞迴求逆序 (Append Code) ★函式遞迴APP
- 進階指南--超快速排序(歸併+逆序對)排序
- 劍指Offer-37-陣列中逆序對陣列
- HDU 2689 Sort it【樹狀陣列求逆序對】陣列
- 【機器學習|數學基礎】Mathematics for Machine Learning系列之線性代數(1):二階與三階行列式、全排列及其逆序數機器學習Mac
- 【2024全國賽前多校聯考1】逆序對
- 陣列怎樣在python3中逆序輸出?陣列Python