解题思路:
树状数组
注意事项:
输入要快读
参考代码:
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语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:805 |
printf基础练习2 (C++代码)(受教了,,%#o和%#x的用途)三人行,必有我师,,多看题解会有收获浏览:1880 |
C语言训练-最大数问题 (C语言代码).........关于-1浏览:750 |
小九九 (C语言代码)浏览:828 |
C语言训练-自由落体问题 (C语言代码)浏览:1747 |
C语言训练-求函数值 (C语言代码)浏览:584 |
简单的for循环浏览:1431 |
WU-格式化数据输出 (C++代码)浏览:1220 |
printf基础练习2 (C语言代码)浏览:763 |
用筛法求之N内的素数。 (C语言代码)浏览:539 |