洛谷 2801 教主的魔法 分塊 二分

2022-04-02 17:22:36 字數 452 閱讀 4864

題目鏈結

/*

分塊。對於塊之外的,暴力修改、查詢;

對於一整塊內的,修改後sort使每一塊塊有序,詢問時二分》=c的位置求個數

*/#include#include#include#includeusing namespace std;

const int n=1e6+5;

int n,m,a[n],bel[n],size,blo[n],tag[n];//塊是要有序的,要和原陣列分開

inline int read()

void reset(int p)

void add(int l,int r,int v)

for(int i=bel[l]+1; i= x 的位置

int main()

return 0;

}

洛谷P2801 教主的魔法 分塊 二分

給出一串數列,有兩個操作 30分做法 暴力。100分做法 考慮用分塊。對於每次修改操作,如果修改的位置都在乙個區間,那麼就暴力修改。如果不在同乙個區間,那麼就將中間的區間add add陣列全部加上z z,其餘兩邊暴力。修改很簡單吧。那麼對於查詢操作,如果查詢的位置在同乙個區間,暴力。如果不在同乙個區...

洛谷P2801 教主的魔法 分塊 二分

給出一串數列,有兩個操作 30分做法 暴力。100分做法 考慮用分塊。對於每次修改操作,如果修改的位置都在乙個區間,那麼就暴力修改。如果不在同乙個區間,那麼就將中間的區間add add陣列全部加上z z,其餘兩邊暴力。修改很簡單吧。那麼對於查詢操作,如果查詢的位置在同乙個區間,暴力。如果不在同乙個區...

洛谷P2801 教主的魔法 分塊,二分答案

題目傳送門 教主最近學會了一種神奇的魔法,能夠使人長高。於是他準備演示給xmyz資訊組每個英雄看。於是n個英雄們又一次聚集在了一起,這次他們排成了一列,被編號為1 2 n。每個人的身高一開始都是不超過1000的正整數。教主的魔法每次可以把閉區間 l,r 1 l r n 內的英雄的身高全部加上乙個整數...