ZOJ 3724 Delivery(離線線段樹)

2021-06-18 11:45:40 字數 1031 閱讀 7576

題意:n個點,對於每個點i,都有一條連向i+1的有向邊,另外有m條其他的有向邊,有q個詢問(u,v)求u到v的最短路。

當uv的處理方法很相似。分兩種情況,分別離線處理一次就可以了。

//#pragma comment(linker, "/stack:102400000,102400000")

#include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpii;

#define inf (1ll<<60)

#define ll(x) (x<<1)

#define rr(x) (x<<1|1)

#define mid(a,b) (a+((b-a)>>1))

const int n=100005;

ll a[n],sum[n],ans[n*2];

struct op

op(int st,int ed,int w) :

st(st),ed(ed),w(w) {}

};bool cmpst(const op &a,const op &b)

void build(int lft,int rht,int ind)

}void updata(int pos,ll valu,int lft,int rht,int ind)

}ll query(int st,int ed,int lft,int rht,int ind)

}}seg;

int main()

seg.build(1,n,1);

sort(qa.begin(),qa.end(),cmped);

sort(ra.begin(),ra.end(),cmped);

len1=(int)qa.size();

len2=(int)ra.size();

int ind=0;

for(int i=0;i

zoj 3724 樹狀陣列經典

問題 n個點,對於每個點i,都有一條連向i 1的有向邊,另外有m條其他的有向邊,有q個詢問 u,v 求u到v的最短路 將m條有向邊和q個詢問對所表示的點對一起排序,u,v u大的排前,u一樣的v小的排前,u和v一樣大的先處理插入的再處理詢問的 邊插入邊詢問 樹狀陣列裡存的是右端點在v之後的詢問的結果...

3724 unix紀元 標準庫時間函式的應用

i m a programmer,damnit.i don t write code.the anti programming programmer 在一些簡單的題目中經常有一些進行時間轉化的題目,如3724 unix紀元,當然可以自己寫 進行轉換,也可以時候標準c的相關的一些庫函式。time t ...

按順序輸出ZOJ

description 讀入乙個字串,字串中包含zoj三個字元,個數不一定相等,按zoj的順序輸出,當某個字元用完時,剩下的仍然按照zoj的順序輸出。input 題目包含多組用例,每組用例佔一行,包含zoj三個字元,當輸入 e 時表示輸入結束。1 length 100。output 對於每組輸入,請...