樹狀陣列 離散化 CF 1311 F

2021-10-03 06:33:30 字數 1507 閱讀 5703

資料比較大,先離散化。

可以先把x sort一遍通過v找出答案

如果x由小到大,前面v比當前v小d(i,j)=xi-xj;否則為0

i時前面所有的d為 比現在小的點數目*a[i].x-比現在小的點的距離和

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#if __cplusplus >= 201103l

#include

#include

#endif

#define ll long long

#define int long long

using

namespace std;

const

int inf =

0x3f3f3f3f

;const

int maxn=

500010

;int b[

500010];

int m,n;

struct node

}a[maxn]

;int

lowbit

(int x)

int bit[maxn][3

];void

edit

(int pos,

int val)

}int

query

(int pos,

int k)

return res;

}signed

main()

sort

(a+1

,a+1

+n);

sort

(b+1

,b+1

+n);

m=unique

(b+1

,b+1

+n)-b-1;

for(

int i=

1;i<=n;i++

) a[i]

.v=lower_bound

(b+1

,b+1

+m,a[i]

.v)-b;

int ans=0;

for(

int i=

1;i<=n;i++

) cout<

return0;

}

離散化 樹狀陣列

題目描述 erwin最近對一種叫 thair 的東西巨感興趣。在含有n個整數的序列a1,a2 an中,三個數被稱作 thair 當且僅當i求乙個序列中 thair 的個數。輸入格式 開始乙個正整數n,以後n個數a1 an。輸出格式 thair 的個數 思路 列舉中間的數字,求排在它前面,小於它的有幾...

Flowers 樹狀陣列 離散化

題意 給你一些花,以及這些花開花的時間,問你在某一時間開花的總個數 很明顯的樹狀陣列題,插線問點。ac include include include include include define n 1000005 using namespace std typedef struct node n...

排序(離散化 樹狀陣列)

題目 資料範圍大,交換相鄰的的樹,使有序 解題說明 關鍵是知道,每個數交換的次數是其前面比它大的樹的個數。用樹狀陣列維護一下 ac include include include includeusing namespace std typedef long long ll const int ma...