分块系列
文章平均质量分 57
phython96
ACM退役~
展开
-
codeforces gym-101745 C-Infinite Graph Game 分块
题意题目链接 给出一个顶点带权无向图。 定义访问操作:访问一个点,就要把与这个点相邻的点的权值全部都加到答案里去,然后给这个顶点的权值/2。现在给出一个无穷的访问序列中的一个循环节,求最终答案的极限是多少。 注意:本题是在模意义下。题解数据范围 ≤ 100000 我们定义一个sumsumsum数组,其中sum[v]sum[v]sum[v]表示与vvv顶点相邻的所有顶点的权值...原创 2018-03-29 10:25:18 · 240 阅读 · 0 评论 -
洛谷-P3396 哈希冲突 分块
题目题目链接题意给你个数列,编号为1…n1…n1…n。 给出两种操作:查询操作:查询所有编号模xxx得yyy的对应数字之和。修改操作:把编号为xxx的数字,修改为yyy。题解我们先从最为暴力的思路出发:对于查询xxx、yyy来说,我们要统计的就是编号为y,x+y,…,kx+yy,x+y,…,kx+yy,x+y,…,kx+y的数字之和。我们可以把要...原创 2018-04-02 19:55:15 · 273 阅读 · 0 评论 -
洛谷-P1903 数颜色 分块 bitset
题目题目链接题意给你一个数列代表不同的颜色(可以修改)。 询问一段区间内有多少种颜色。题解很容易想到的就是线段树来维护bitset。这里为了练习,使用分块维护bitset。* 事实上线段树可以看成是无限分块。*修改的时候直接暴力将被修改位置所在的块重新计算,形成新的bitset。查询的时候,直接按块合并bitset即可。注意细节:由于bitset不...原创 2018-04-02 20:07:45 · 352 阅读 · 0 评论 -
洛谷-P2801 教主的魔法 分块
题目题目链接题意修改:将一个区间内所有的数+C。查询:查询一个区间内>C的数字有多少个。题解很经典的分快算法题目。 将数列分块以后,对块内的元素进行排序。当我们要做修改操作的时候:遇到要修改的完整的块的时候,我们给它在addmark数组的相应的位置+C,标记为我对整个区间做了一个修改操作,有点类似于带lazy标记的线段树的操作。当要修改的部分区间不是...原创 2018-04-02 20:21:40 · 176 阅读 · 0 评论 -
洛谷-P3203 弹飞绵羊 分块
题目题目链接题意据说这道题要用一道叫做LCT的数据结构,然而我不会。。。一排有n个弹簧装置,从第iii个可一往后跳k[i]k[i]k[i]步。修改:修改某个位置弹簧的弹性。查询:询问从某个位置出发弹多少次就弹飞了。题解分块首先都要先从暴力开始想起: 我们记录从任意一个点出发,下一次能跳到哪里,这样的话我们每次询问,只需要一只沿着这条链往下走即可,显然最坏的时...原创 2018-04-02 21:36:41 · 171 阅读 · 0 评论