随笔分类 - 分块
摘要:2724: [Violet 6]蒲公英 Description Input 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1
阅读全文
摘要:给出一个长为n的数列,以及n个操作,操作涉及区间询问等于一个数c的元素,并将这个区间的所有元素改为c。 样例输入 4 1 2 2 4 1 3 1 1 4 4 1 2 2 1 4 2 样例输出 1 1 0 2分析:对于每一个块维护一个覆盖标记. 如果这个块被完整的覆盖了,标记记录的就是对应覆盖的值,否
阅读全文
摘要:给出一个长为 n 的数列,以及 n 个操作,操作涉及区间开方,区间求和。 样例输入 4 1 2 2 3 0 1 3 1 1 1 4 4 0 1 2 2 1 1 2 4 样例输出 6 2分析:这道题没办法维护整块的信息,必须要知道每一个元素具体是多少才行. 开方的一个性质:2 ^ 32内的数最多经过6
阅读全文
摘要:给出一个长为n的数列,以及n个操作,操作涉及区间加法,询问区间内小于某个值c^2的元素个数。 样例输入 4 1 2 2 3 0 1 3 1 1 1 3 2 1 1 4 1 1 2 3 2 样例输出 3 0 2分析:复习了一下分块. 对于修改操作,在整块外的直接暴力修改,否则给每个块维护一个修改标记.
阅读全文
摘要:2002: [Hnoi2010]Bounce 弹飞绵羊 Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时
阅读全文
摘要:两个操作,1是询问[l,r]颜色的数量,2是交换p,p+1位置的颜色.
阅读全文
摘要:分析:高级数据结构学傻了.....一眼看上去觉得是莫队,发现带修改,于是分块,由于写的常数很大,只有70分. 正解很简单,记录下颜色为c的每只兔子的位置,每次二分找这个区间有多少只这种颜色的兔子就可以了,交换操作就交换位置,颜色.可能会存不下,所以用vector. 70分分块: 正解:
阅读全文
摘要:分析:对于前30%的数据直接暴力模拟即可,对于另外30%的数据,因为每次的p是一样的,所以可以用莫队来维护,先离散化一下,再用一个桶统计次数. 100%的做法和之前做过的一道模拟赛题很像,当模数很小的时候分块,否则就暴力修改.其实看到区间操作第一感觉是线段树,但是线段树并不能维护这个,分块维护的信息
阅读全文