nefu 復讀機 分塊加二分

2021-09-08 02:27:22 字數 985 閱讀 3422

有兩個操作,1操作,對於x,y區間內的值全部加1。2操作,求出第一次復讀y次跟最後乙個復讀y次的復讀機次數。

a存復讀機原陣列,b存分塊陣列,對於分塊陣列每個進行排序操作,使區間有序,每次查詢對於第乙個區間查詢到最後乙個區間,進行二分查詢。 

更新時則對兩個區間都進行更新。也可對a更新後再對b賦值。

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

const int m=5e5+100;

long long a[m],b[m];

long long n,num,b,l[m],r[m],lazy[m],belong[m],youxu[m],m;

void build()

r[num]=n;

for(int i=1; i<=num; i++)

}}void pushdown(int i)

lazy[i]=0;

}}void update(int st,int ed,long long x)

int t=belong[st];

youxu[t]=0;

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

}else //不在乙個區間內

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

for(b_st++; b_st=xx&&a[l[i]]<=xx)

}break;}}

}}

if(f1==0)

return -1;

for(j=num; j>=i; j--)

if(a[r[j]]>=xx&&a[l[j]]<=xx)

}break;}}

}return 0;

}int main()

else

}//return 0;

}return 0;

}

商店 分塊 二分

題目描述 從前有乙個奇怪的商店,一共售賣k種物品,第i種物品的初始 為i。但是這商店有個很奇怪的規矩,就是你每次購買一樣物品之後,這種物品的 都會在當前基礎上翻一倍。現在我們想要用最少的錢從裡面買n樣物品,不限購買的物品種數和每種物品購買的次數,請求出若這樣做,所買到的最貴的物品的 由於這個數字可能...

nefu500(二分,最大流)

problem a time limit 3000ms memory limit 65536k 在這個資訊化的時代,網購成為了最流行的購物方式,比起在大街上,頂著烈日尋找需要的商品,大多數人更願意坐在家裡,點選下滑鼠,來找到喜歡的商品,並完成購物。儘管網購還有很多安全問題,但是接受網購的人還是越來越...

分塊 二分 BZOJ 3343

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