題目傳送門
p3368 【模板】樹狀陣列 2
給你乙個長度為n的陣列
操作 1: 格式:1 x y k 含義:將區間 [x,
y]
[x,y]
[x,y
] 內每個數加上 kkk;
操作 2: 格式:2 x 含義:輸出第 x
xx 個數的值。
區間更新,單點查詢的樹狀陣列
#include
#include
#include
#include
using
namespace std;
#define endl '\n'
#define inf 0x3f3f3f3f
#define int long long
// #define tds_acm_local
const
int n=
5e5+9;
int n, m;
int a[n]
,bit[n]
;//對應原陣列和樹狀陣列
intlowbit
(int x)
void
updata
(int i,
int k)
}int
getsum
(int i)
return res;
}//差分建樹,這樣更新區間時變為了a[x]和a[y+1]的更新
void
solve()
while
(m--
)else
if(flag==2)
}return;}
signed
main()
P3368 模板 樹狀陣列 2
題目描述 如題,已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數數加上x 2.求出某乙個數的值 輸入格式 第一行包含兩個整數n m,分別表示該數列數字的個數和操作的總個數。第二行包含n個用空格分隔的整數,其中第i個數字表示數列第i項的初始值。接下來m行每行包含2或4個整數,表示乙個操作,具...
P3368 模板 樹狀陣列 2
題目描述 如題,已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數數加上x 2.求出某乙個數的值 輸入格式 第一行包含兩個整數n m,分別表示該數列數字的個數和操作的總個數。第二行包含n個用空格分隔的整數,其中第i個數字表示數列第i項的初始值。接下來m行每行包含2或4個整數,表示乙個操作,具...
P3368 模板 樹狀陣列 2
如題,已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數數加上x 2.求出某乙個數的值 第一行包含兩個整數n m,分別表示該數列數字的個數和操作的總個數。第二行包含n個用空格分隔的整數,其中第i個數字表示數列第i項的初始值。接下來m行每行包含2或4個整數,表示乙個操作,具體如下 操作1 格式...