分块
Black__wing
acm菜鸡
展开
-
牛客网练习赛36 Ribbit的数列 分块
题目描述 Rabbit得到了一个长度为N的数列(数列编号从0到N−1)。数列中每个数vali满足1<=vali<=C。 初始时数列中每个数均为1,现在Rabbit要对这个数列进行Q次操作,每次操作给出四个数:X Y A B,首先查询数列中值为X的个数P,然后计算出L,R: L=(A+(P+B)2)mod N R=(A+(P∗B)2)mod N 并将范围[min(L,R),max(L...原创 2019-01-08 19:11:02 · 273 阅读 · 0 评论 -
nefu 复读机、分块加二分
有两个操作,1操作,对于x,y区间内的值全部加1。2操作,求出第一次复读y次跟最后一个复读y次的复读机次数。 a存复读机原数组,b存分块数组,对于分块数组每个进行排序操作,使区间有序,每次查询对于第一个区间查找到最后一个区间,进行二分查找。 更新时则对两个区间都进行更新。也可对a更新后再对B赋值。 #include <iostream> #include <stdio....原创 2019-01-08 20:07:45 · 245 阅读 · 0 评论