Bzoj 3343: 教主的魔法(分块+二分答案)
3343: 教主的魔法
Time Limit: 10 Sec Memory Limit: 256 MB
Description
教主最近學(xué)會(huì)了一種神奇的魔法,能夠使人長(zhǎng)高。于是他準(zhǔn)備演示給XMYZ信息組每個(gè)英雄看。于是N個(gè)英雄們又一次聚集在了一起,這次他們排成了一列,被編號(hào)為1、2、……、N。
每個(gè)人的身高一開(kāi)始都是不超過(guò)1000的正整數(shù)。教主的魔法每次可以把閉區(qū)間[L, R](1≤L≤R≤N)內(nèi)的英雄的身高全部加上一個(gè)整數(shù)W。(雖然L=R時(shí)并不符合區(qū)間的書(shū)寫(xiě)規(guī)范,但我們可以認(rèn)為是單獨(dú)增加第L(R)個(gè)英雄的身高)
CYZ、光哥和ZJQ等人不信教主的邪,于是他們有時(shí)候會(huì)問(wèn)WD閉區(qū)間 [L, R] 內(nèi)有多少英雄身高大于等于C,以驗(yàn)證教主的魔法是否真的有效。
WD巨懶,于是他把這個(gè)回答的任務(wù)交給了你。
Input
第1行為兩個(gè)整數(shù)N、Q。Q為問(wèn)題數(shù)與教主的施法數(shù)總和。
第2行有N個(gè)正整數(shù),第i個(gè)數(shù)代表第i個(gè)英雄的身高。
第3到第Q+2行每行有一個(gè)操作:
(1) 若第一個(gè)字母為“M”,則緊接著有三個(gè)數(shù)字L、R、W。表示對(duì)閉區(qū)間 [L, R] 內(nèi)所有英雄的身高加上W。
(2) 若第一個(gè)字母為“A”,則緊接著有三個(gè)數(shù)字L、R、C。詢問(wèn)閉區(qū)間 [L, R] 內(nèi)有多少英雄的身高大于等于C。
Output
對(duì)每個(gè)“A”詢問(wèn)輸出一行,僅含一個(gè)整數(shù),表示閉區(qū)間 [L, R] 內(nèi)身高大于等于C的英雄數(shù)。
Sample Input
5 3
1 2 3 4 5
A 1 5 4
M 3 5 1
A 1 5 4
Sample Output
2
3
HINT
【輸入輸出樣例說(shuō)明】
原先5個(gè)英雄身高為1、2、3、4、5,此時(shí)[1, 5]間有2個(gè)英雄的身高大于等于4。教主施法后變?yōu)?、2、4、5、6,此時(shí)[1, 5]間有3個(gè)英雄的身高大于等于4。
【數(shù)據(jù)范圍】
對(duì)30%的數(shù)據(jù),N≤1000,Q≤1000。
對(duì)100%的數(shù)據(jù),N≤1000000,Q≤3000,1≤W≤1000,1≤C≤1,000,000,000。
轉(zhuǎn)載于:https://www.cnblogs.com/nancheng58/p/10067980.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Bzoj 3343: 教主的魔法(分块+二分答案)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java Servlet学习笔记(一)
- 下一篇: 星空下的痕迹 Jenkins学习(四)-