codeforeces 540E 樹狀陣列

2022-05-12 18:47:11 字數 1086 閱讀 2126

題意:交換自然數中的若干對數,求交換後總共有多少逆序數對。

思路:因為題目數字範圍比較大,不能直接用樹狀陣列算,首先要離散化。然後一種演算法是官方題解中根據逆序對數是否屬於交換過的數分類討論統計。我的演算法是把沒有交換的連續的數看成乙個數,使用樹狀陣列統計的時候直接加上這個區間的數字個數,這樣就不需要比較易錯的討論了。

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define pb push_back

#define fs first

#define se second

using

namespace

std;

typedef

long

long

ll;typedef pair

p;const

int maxv=1e5*4

;struct

bit }

ll sum(

intp)

return

ans;

}ll after(

inta)

}b;int

a[maxv];

intb[maxv];

intc[maxv];

intmid[maxv];

intsq[maxv];

intn;

mapmii;

intmain()

sort(c,c+2*n);

int h=unique(c,c+2*n)-c;

for(int i=1;i)

for(int i=0;i)

for(int i=0;i)

for(int i=0;i)

ll ans=0

;

for(int i=1;i<=h;i++)

cout

return0;

}

view code

開會就要說亮話,明基智慧型商務E540全天候抗曬

數不清多少次開會,由於投影機不夠亮,只好拉上窗簾關掉照明燈,在漆黑一片中望著散發出幽光的投影螢幕。口渴時小心端起面前的熱茶,生怕眼拙失手打翻,瞬間成為全場焦點。用一台夠亮的投影機開會,直接避免了上述問題,螢幕和環境都能看得清。明基高亮款智慧型商務e540就是這樣一款開會必備的抗曬好物,全天候hold...

E 最小生成樹

time limit 1000ms memory limit 65536k 有疑問?點這裡 給出乙個帶權無向圖,求出其最小生成樹。保證圖連通。對於每組資料 第一行輸入n,m。表示此圖有n n 50000 個點,m m 200000 條邊。接下來m行,每行u,v,w。表示u,v之間有一條權值為w的邊。...

E 怪獸來襲(思維,線段樹)

題意 怪物攻入了城鎮,防務長打算派出軍隊去迎擊,怪物有等級,軍隊也有等級.乙個軍隊的等級需要大於等於怪物等級才能夠殺死怪物。派出的每個軍隊只能和乙隻怪物作戰。防務長與你商討如何應對怪物,給你q個詢問,詢問分為3種 1.告訴你t時刻會來乙個等級為i的怪物 2.告訴你t時刻會派出乙個等級為i的軍隊 3....