BZOJ 3343 教主的魔法

2022-04-30 06:00:10 字數 873 閱讀 3678

bzoj_3343_教主的魔法_分塊+二分查詢

題意:教主最近學會了一種神奇的魔法,能夠使人長高。於是他準備演示給xmyz資訊組每個英雄看。於是n個英雄們又一次聚集在了一起,這次他們排成了一列被編號為1、2、……、n。每個人的身高一開始都是不超過1000的正整數。教主的魔法每次可以把閉區間[l, r](1≤l≤r≤n)內的英雄的身高全部加上乙個整數w。(雖然l=r時並不符合區間的書寫規範,但我們可以認為是單獨增加第l(r)個英雄的身高)詢問wd閉區間 [l, r] 內有多少英雄身高大於等於c,以驗證教主的魔法是否真的有效。

分析:分塊。

每一塊用乙個輔助陣列來排序,詢問時整塊二分查詢大於等於c的位置,零散的暴力重構。

重構時可以歸併也可以直接sort

**:

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

#define n 1000010

#define ll long long

void read(ll &x)

while(s>='0'&&s<='9')

x*=f;

}int l[1010],r[1010],pos[n],t,is[1010],add[1010],n,q;

ll a[n],b[n];

int find(int blo,ll x)else

for(int i=l[q];i<=r;i++)

}return ans;

}char op[10];

int main()

}if(n-t*t)

}for(int i=1;i<=t;i++)pre(i);

int x,y,z;

while(q--)else

}}

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資訊組每個英雄看。於...