随笔分类 - 树状数组
摘要:这个题其实也是很简单的莫队,题目要求是给一个序列,询问l-r区间内部,找到有多少对答案满足 i < j 并且 | a[ i ] -a[ j ] | <=k 也就是有多少对,满足差值小于k的个数。 把这个式子展开,其实就是-k<= a[ i ] -a [ j ] <= k 也就是 a[ j ] -k
阅读全文
摘要:这题挺有意思哈!!!看别人写的博客,感觉瞬间就懂了。 这道题大概题意就是,给一串序列,我们要查找到l-r区间内,满足min(a[ i ],a[ j ]) = gcd(a[ i ],a[ j ]) 其实我们把这个东西看成一个二元组,<i,j> 二元组满足 min(a[ i ],a[ j ]) = gc
阅读全文
摘要:非常简单的单点修改+区间加+区间查询。我用的是最近刚学的区间修改版本树状数组。 直接维护即可,注意修改后的单点值已经不是a[i],或者b[i],要通过区间查询求单点。不然是错的。 区间修改版本树状数组: 线段树版本:。。。更新laze标记,以及sum的时候,一定要用+=,不要用=,因为往下更新的时候
阅读全文
摘要:树状数组进阶: 区间修改与区间查询 今天老糊涂了,树状数组忘记了,基本的只要单点修改+区间查询功能,如果要进行区间加操作,需要把树状数组进行改造。 我们首先来回顾树状数组的功能: lowbit(x&(-x)):返回二进制最低位1的值:比如x=1010那么lowbit值为2。 x+lowbit(x):
阅读全文

浙公网安备 33010602011771号