BZOJ4592 Shoi2015 腦洞治療儀

2021-07-13 09:07:27 字數 1987 閱讀 6872

進行**實際上相當於用1覆蓋一段區間,這段區間內原有的1的個數加上挖出來的1的個數等於這段區間的長度,並且這段區間的長度最長為**的區間長度

知道了一段區間的長度,區間裡有多少1,還剩多少腦組織,就能知道這段區間是否被完全覆蓋

需要判斷是否還剩腦組織,如果沒了就返回,要不然複雜度不對

複雜度 o(m log n)

#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define maxn 200010

#define maxm 1010

#define ll long long

#define inf 1000000000

#define mod 1000000007

#define eps 1e-8

int n,m;

int s[maxn<<2],mx[maxn<<2],mxl[maxn<<2],mxr[maxn<<2],ch[maxn<<2],s0[maxn<<2];

int mx,mxr;

int v;

inline void ud(int x,int y,int z)

if(s0[x<<1|1]==z-mid)

}inline void toch(int x,int y,int z,int cv)

inline void pd(int x,int y,int z)

}void build(int x,int y,int z)

int mid=y+z>>1;

build(x<<1,y,mid);

build(x<<1|1,mid+1,z);

ud(x,y,z);

}void change(int x,int y,int z,int l,int r,int cv)

pd(x,y,z);

int mid=y+z>>1;

if(r<=mid)else if(l>mid)else

ud(x,y,z);

}int ask(int x,int y,int z,int l,int r)

pd(x,y,z);

int mid=y+z>>1;

if(r<=mid)else if(l>mid)else

ud(x,y,z);

}void toask(int x,int y,int z,int l,int r)else

return ;

} pd(x,y,z);

int mid=y+z>>1;

if(r<=mid)else if(l>mid)else

ud(x,y,z);

}void dang(int x,int y,int z)

return ;

} pd(x,y,z);

int mid=y+z>>1;

if(v+s[x]>=z-y+1)else

} ud(x,y,z);

}void guang(int x,int y,int z,int l,int r)

if(y==l&&z==r)

return ;

} pd(x,y,z);

int mid=y+z>>1;

if(r<=mid)else if(l>mid)else

} ud(x,y,z);

}int main()

if(o==1)

if(o==2)

} return 0;}/*

10 10

0 2 2

0 4 6

0 10 10

2 1 10

1 8 10 1 4

2 1 10

1 1 4 8 10

2 1 10

1 7 10 1 6

2 1 10

*/

BZOJ4592 Shoi2015 腦洞治療儀

bzoj4592 吐槽一下ds y 我 這個資料 了一天我xx x!一開始看到這個題。誒,區間連續最大和誒!把腦洞的值為1,正常的賦為 i nf但是操作1怎麼辦。發現就是先統計出l0 到r0 區間內 i nf的個數to t 然後區間賦為1.然後統計l1 到r1 區間內1的個數to t 如果to t ...

BZOJ 4592 Shoi2015 腦洞治療儀

4592 shoi 2015 腦 洞治療儀 4592 shoi2015 腦洞 儀 4592 shoi 2015 腦洞治 療儀description 曾經發明了自動刷題機的發明家shtsc又公開了他的新發明 腦洞 儀 一種可以 他因為發明而日益增大的腦洞的神秘裝置。為了簡單起見,我們將大腦視作乙個01...

BZOJ4592 Shoi2015 腦洞治療儀

bzoj4592 shoi2015 腦洞 儀 曾經發明了自動刷題機的發明家shtsc又公開了他的新發明 腦洞 儀 一種可以 他因為發明而日益增大的腦洞的神秘裝置。為了簡單起見,我們將大腦視作乙個01序列。1代表這個位置的腦組織正常工作,0代表這是一塊腦洞。腦洞 儀修補某一塊腦洞的基本工作原理就是將另...