解题思路:
树状数组
注意事项:
输入要快读
参考代码:
import sys
n, m = map(int, input().split())
a = [0 for _ in range(n + 1)]
tr = [0 for _ in range(n + 1)]
def lowbit(x):
return x & -x
def add(x, v):
while x <= n:
tr[x] += v
x += lowbit(x)
def query(x):
res = 0
while x > 0:
res += tr[x]
x -= lowbit(x)
return res
for _ in range(m):
f, a, b = map(int, sys.stdin.readline().split())
if f == 0:
add(a, b)
else:
print(query(b) - query(a - 1))
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:633 |
完数 (C语言代码)浏览:693 |
幸运数 (C++代码)浏览:1264 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:563 |
关于float,double变量的几点说明浏览:1810 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:766 |
小O的乘积 (C语言代码)浏览:1014 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:478 |