bzoj3343 教主的魔法

2021-07-30 21:53:35 字數 687 閱讀 8755

這樣搞,我們把序列分塊,每一塊有個標記表示這個塊被整體加了幾。

每次查詢,對於完整的塊,我們提前把裡面的元素排好序,每次只要二分一下就好了。

修改,完整的塊,直接打標記即可;對於前後那些零散的,暴力修改之後,把這個塊重新拍下序。

//分塊

#include #include #define maxn 1100000

#define maxs 2048

using namespace std;

int n, q, a[maxn], tag[maxs], tmp[maxn], size;

inline int read(int x=0)

inline char readc()

inline void init()

}inline void pushdown(int block)

inline void rebuild(int block)

inline void add(int l, int r, int w)

inline int bin(int block, int w)

return (block+1

<}inline void quiry(int l, int r, int c)

int main()

return

0;}

bzoj 3343 教主的魔法

qaq這題wa了四遍 dqs學長快打死我了 qaq 我錯了 等我慢慢賺回ac率 qaq 果然我這種弱渣還是不要打許可權題了 分塊 塊內進行排序,查詢的時候就lower bound l,r,v add l m 記得另開乙個陣列記錄排序後都是啥,因為用到這個陣列的話都是在同乙個塊內,所以說不用記錄它在 ...

bzoj 3343 教主的魔法

time limit 10 sec memory limit 256 mb submit 874 solved 383 submit status discuss 教主最近學會了一種神奇的魔法,能夠使人長高。於是他準備演示給xmyz資訊組每個英雄看。於是n個英雄們又一次聚集在了一起,這次他們排成了一...

bzoj 3343 教主的魔法

3343 教主的魔法 time limit 10 sec memory limit 256 mb submit 1062 solved 466 submit status discuss description 教主最近學會了一種神奇的魔法,能夠使人長高。於是他準備演示給xmyz資訊組每個英雄看。於...