學習分塊,先過一道題,感覺直接碼**可以更好理解思想
這題是最基本的操作
每次修改:如果兩頭在同乙個塊裡直接暴力重構
不在同乙個塊裡的話對中間完整的塊的打標記
兩頭若有多餘暴力重構
每次詢問:如果兩頭在同乙個塊裡直接暴力找一遍
不在同一塊裡對中間完整的塊二分算答案
兩頭多出來的部分暴力找
#include#include#include#define n 1000010
#define m 1010
using namespace std;
int qn,n,q,size;
int bl[n],a[n],b[n],l[m],r[m],tab[m];
void rebuild(int x)
void change(int x,int y,int w)
else }
int solve(int x,int y,int c)
else
return res;
}int main()
for(int i=1;i<=qn;++i)
scanf("%d",&a[i]),b[i]=a[i];
for(int i=1;i<=n;++i)
sort(b+l[i],b+r[i]+1);
while(q--)
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資訊組每個英雄看。於...