![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分块
ljq真的不能再吃了
珍惜每一天
展开
-
洛谷P2257 YY的GCD 懵逼乌斯繁衍
P2257题意T组 输入 n m 求1 - n之间 与 1 - m之间gcd为质数的数我们知道gcd 有性质 d|(gcd(a,b)) 则 d|a d|b第一道懵逼钨丝学的别人做法是这样推的$$f\left( gcd\left( a,b \right) \right) \,\,\\f\left( x \right) \,\,=\,\,\underset{d|gcd\left(...原创 2019-03-27 17:57:38 · 134 阅读 · 0 评论 -
【BZOJ 1101 Zap】 懵逼钨丝繁衍
BZOJ 1101$$\text{答案其实就是求区间内}\underset{i=1}{\overset{n}{\Sigma}}\underset{j=1}{\overset{m}{\Sigma}}\left[ gcd\left( i,j \right) \,\,=\,\,d \right]\\\text{上一篇博文介绍了}\left[ gcd\left( i,j \right) \,\...原创 2019-03-27 18:48:44 · 140 阅读 · 0 评论 -
【loj 6277】 区间修改 单点查询
loj 6277复杂度还是设为sqrt(n)区间加就相当于暴力修改 和中间一段延迟数组区间加如果x y 本身就在一个块内 那么就不需要加第二次/* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq*/#include <cstdio...原创 2019-04-17 14:56:59 · 284 阅读 · 0 评论 -
【Loj 6278】区间加 找小于x的个数
Loj 6278其实用均值不等式能分一个更好的块出来但是还是用sqrt(n) 乱搞一下我们首先知道 你加还是一个加法 只不过加的时候要对两边边角修改的值重新排序那么你找 两边边角你就是暴力找对于中间的用二分查找 注意是upper_bound(arr[i]-1)因为可能会有很多重复的值/* if you can't see the repay Why not just ...原创 2019-04-17 16:15:06 · 312 阅读 · 0 评论 -
【Loj 6279】区间加 区间找x的前驱
Loj 6279其实这题和上题有异曲同工之妙 当然可以用set去维护了 而且能完成更多骚操作但是本着上题的代码改改就能过的思想还是拿上题的代码拿来改了注意特判一下 如果第一个都比你这个v小了 那么你没必要找了否则upper_bound(arr[i]-1) 得到的地址还要减 1 才是所求的元素一开始那个建1 放在外面没发现 WA到死/* if you can't see the...原创 2019-04-17 16:29:23 · 269 阅读 · 0 评论 -
【Loj 6280】 区间加 区间求和
Loj 6280题意 其实这题就是第一题拿来改一下很骚的一点就是我们用一个sum数组去维护每个段的和单点修改的时候sum数组也需要改否则sum数组不需要改 一开始没注意到这个地方 就WA了/* if you can't see the repay Why not just work step by step rubbish is relaxed to lj...原创 2019-04-17 16:45:10 · 141 阅读 · 0 评论 -
【Loj 6281】区间开方 区间求和
Loj 6281对于区间开方 我们很容易知道一个性质 2^31-1那么大的数开五次方以后也会变成1所以我们对于开方操作 只要看那个区间是不是最大值为1了 如果最大值为1说明就不需要开方了否则你就去暴力修改每个点然后统计求和也是一样的统计方法/* if you can't see the repay Why not just work step by step ru...原创 2019-04-17 17:46:01 · 257 阅读 · 0 评论