• 2024-03-26洛谷 P3374 【模板】树状数组 1
    classFenwickTree{public:FenwickTree(intsz):sz_(sz){ft_.resize(sz_);}FenwickTree(vector<longlong>&f){sz_=int(f.size());ft_.assign(sz_,0);for(inti=1;i<sz_;++i){ft
  • 2024-03-16P3374 【模板】树状数组 动态求连续区间和 刷题笔记
    我们创建如下的树状数组来辅助操作该数组每个s[i]处于第几层取决于其二进制最后低位的1处于从右往左数第几列显然所有奇数的最右边一位都是1即其最低位的1处于右边第一列所以所有的奇数处于第一层而2,6,10,14的最低位1处于右边第二列 所以这些数处于第二层 8的最
  • 2024-01-25P3374 【模板】树状数组 1(线段树)
    【模板】树状数组1题目描述如题,已知一个数列,你需要进行下面两种操作:将某一个数加上x求出某区间每一个数的和输入格式第一行包含两个正整数n,m,分别表示该数列数字的个数和操作的总个数。第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值
  • 2024-01-25P3374 【模板】树状数组 1
    part1#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;structnode1{intl,r,value;};node1node[2000020];inta[500010];voidmt(intp,intl,intr){intmid=(l+r)>>1;node[p].l=l;node[p].r=r;if(l==r)
  • 2023-08-14P3374 【模板】树状数组
    \(P3374\)【模板】树状数组1#include<bits/stdc++.h>usingnamespacestd;constintN=5*1e5+10;intn,m;inta[N];//树状数组模板inttr[N];intlowbit(intx){returnx&-x;}voidadd(intx,intc){for(inti=x;i<N;i+=lo
  • 2023-07-12线段树模板 洛谷P3374 【模板】树状数组 1
    题目传送门题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某一个数加上x2.求出某区间每一个数的和输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3
  • 2023-04-26洛谷 P3374——树状数组 / 树状数组模板题
    洛谷P3374——树状数组#include<iostream>usingnamespacestd;constintN=5e5+10;inttr[N],a[N];intn,m;intlowbit(intx){returnx&-x;}voidadd(intu,intc){//给所有管辖中有a[i]的tr[]加上cfor(inti=u;i<=n;i+
  • 2023-03-31洛谷P3374 【模板】树状数组 1-(单点修改,区间查询)
    题目描述如题,已知一个数列,你需要进行下面两种操作:将某一个数加上 x求出某区间每一个数的和输入格式第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数。第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。接下来