分块
文章平均质量分 60
ZigZagK
一个蒟蒻。
展开
-
【and or分块】51Nod1674[区间的价值 V2]题解
题目概述给出一个序列 {An}\{A_n\} ,求 ∑ni=1∑nj=iand(ai,ai+1,⋯,aj)∗or(ai,aI+1,⋯,aj)\sum_{i=1}^{n}\sum_{j=i}^{n} and(a_i,a_{i+1},\cdots,a_j)*or(a_i,a_{I+1},\cdots,a_j) 。解题报告要了解裸题的做法,这道题是and or分块的裸题,对于任意一个点 ii ,有下面的结原创 2017-09-19 19:48:57 · 458 阅读 · 0 评论 -
【分块】BZOJ2002(Hnoi2010)[Bounce 弹飞绵羊]题解
题目概述有 nn 个弹力装置,每个弹力装置 ii 弹力系数为 kik_i ,会弹到 i+kii+k_i ,如果不存在 i+kii+k_i 则被弹飞,给出 mm 个操作询问,操作:将某个装置的弹力系数改变,询问:询问从某个弹力装置开始弹几次会被弹飞。解题报告写两遍同一道题好像有点不人道,LCT裸题。哇,数据范围不是很大啊,吃我分块啦。不能维护全局,因为改变弹力系数时需要修改大量信息,所以我们分块,每个原创 2017-09-28 07:15:00 · 267 阅读 · 0 评论 -
【gcd分块】BZOJ4921[互质序列]题解
题目概述给出一个序列 {an}\{a_n\} ,现在可以删除一个非空子段,贡献为删除后剩下数(至少两个)的 gcdgcd ,求总贡献值。解题报告预处理前缀 gcdgcd 和后缀 gcdgcd ,然后枚举删除子段的左端点,如果再枚举右端点肯定无法承受,而由于后缀 gcdgcd 只有 log2alog_2a 块,所以枚举块即可,效率 O(nlog2a)O(nlog_2a) 。示例程序#include<c原创 2017-10-07 09:35:10 · 846 阅读 · 0 评论 -
【gcd分块+离线+树状数组】HDU5869[Different GCD Subarray Query]题解
题目概述给出序列 {An}\{A_n\} 和 mm 个询问 (L,R)(L,R) ,定义 GCD(i,j)=gcd(ai,ai+1,⋯,aj)GCD(i,j)=gcd(a_i,a_{i+1},\cdots,a_j) ,每个询问求 [L,R][L,R] 范围内所有子序列 GCD(i,j)GCD(i,j) 不相同的个数。解题报告gcd和and,or一样有分块性质,由于gcd每次至少 ÷2\div 2 ,原创 2017-09-21 20:01:59 · 307 阅读 · 0 评论 -
【数学分析+除法分块】Codeforces830C[Bamboo Partition]题解
题目概述有 nn 个竹子,每个竹子刚开始高度为 00 ,每过一天会长高 11 ,现在每过 dd 天来检查一次,如果 ii 竹子的高度 ≥ai\ge a_i 则将该竹子高度砍为 aia_i 且该竹子不再生长,求砍掉高度不超过 kk 时 dd 最大为多少。解题报告除法分块性质: ⌊ni⌋\lfloor \frac{n}{i}\rfloor 排序去重之后是 O(n√)O(\sqrt{n}) 的。简单说明:原创 2017-10-01 12:25:30 · 749 阅读 · 0 评论 -
【莫比乌斯函数+除法分块】BZOJ2301(HAOI2011)[Problem b]题解
题目概述求 a≤x≤b,c≤y≤da\le x\le b,c\le y\le d 中 (x,y)=k(x,y)=k 的个数。解题报告好像很多人说是莫比乌斯反演……但是我感觉只用到了狄利克雷卷积和莫比乌斯函数啊QAQ?求区间果断容斥,那么先写出答案式子(令 A′=⌊Ak⌋,B′=⌊Bk⌋A'=\lfloor{A\over k}\rfloor,B'=\lfloor{B\over k}\rfloor ):原创 2017-12-09 17:08:52 · 598 阅读 · 0 评论 -
【莫比乌斯函数+除法分块】BZOJ2820[YY的GCD]题解
题目概述求 (i,j)∈P,1≤i≤n,1≤j≤m(i,j)\in P,1\le i\le n,1\le j\le m ( PP 是素数集)的 i,ji,j 的个数。解题报告按照BZOJ2301的方法,得出答案式子: ∑p∑d=1min{A′=⌊Ap⌋,B′=⌊Bp⌋}μ(d)⌊A′d⌋⌊B′d⌋\sum_{p}\sum_{d=1}^{min\{A'=\lfloor{{A\over p}\rfl原创 2017-12-20 20:06:29 · 398 阅读 · 0 评论 -
【分块+回文自动机】LibreOJ6070(2017 山东一轮集训 Day4)[基因]题解
题目概述给出一个由小写字母构成的字符串,有 mm 个询问 [l,r][l,r] ,表示求 s[l..r]s[l..r] 中本质不同回文字串的个数,强制在线。解题报告因为强制在线询问区间,所以我们想到分块。以每个块的左端点开始构造后缀的回文自动机,就可以得到 ans[i][j]ans[i][j] 表示从第 ii 个块左端点开始到 jj 中不同回文子串的个数。然后对于每个询问,我们都只需要查询至多一个块原创 2018-01-03 19:07:12 · 713 阅读 · 0 评论