洛谷P1774 最接近神的人

2022-05-05 21:27:09 字數 839 閱讀 3492

用類似於桶的方法,樹狀陣列記錄原序列的某位置之前已經插入了多少個數,

插入時樹狀陣列單點加1即可

先排一遍序,從大到小插入所有數在原序列的位置,

統計每次插入時,在該元素前面元素的個數,

前面的元素是先插入的,比該元素大,而在序列中的位置靠前,

所以這個字首和是逆序對數

#include#include

#include

using

namespace

std;

#define int long long

#define lowbit(x) ((x)&(-(x)))

#define maxn 500020inline

intread()

while('0'

<=c&&c<='

9')

return x*f;

}int n,tree[maxn<<2

];struct

node x[maxn];

inline

bool

cmp(node x,node y)

void update(int

x)int query(int

x)#undef int

intmain()

#define int long long

sort(x+1,x+1+n,cmp);

int ans=0

;

for(int i=n;i>=1;i--)

printf(

"%lld\n

",ans);

return0;

}

P1774 最接近神的人

這個人當然是我啦,皮 破解了符文之語,小ff開啟了通往地下的道路。當他走到最底層時,發現正前方有一扇巨石門,門上雕刻著一幅古代人進行某種活動的圖案。而石門上方用古代文寫著 神的殿堂 小ff猜想裡面應該就有王室的遺產了。但現在的問題是如何開啟這扇門 仔細研究後,他發現門上的圖案大概是說 古代人認為只有...

最接近神的人 洛谷p1774 逆序對三種求法

題目位址 下面兩種方法均先處理離散化。求逆序對,倒序插入 插入乙個,統計比它小的數量,即ask 1,a i 1 順序也行ask要變 include include include using namespace std const int n 5e5 10 typedef long long ll ...

t099 最接近神的人

time limit 1 second memory limit 128 mb 問題描述 破解了符文之語,小ff開啟了通往地下的道路。當他走到最底層時,發現正前方有一扇巨石門,門上雕刻著一幅古代人進行某種活 動的圖案。而石門上方用古代文寫著 神的殿堂 小ff猜想裡面應該就有王室的遺產了。但現在的問題...