解题思路:
树状数组
注意事项:
输入要快读
参考代码:
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.4 (Java代码)浏览:732 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1173 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:559 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
C语言考试练习题_保留字母 (C语言代码)浏览:712 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:589 |
母牛的故事 (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1479 |
字符串的输入输出处理 (C语言代码)浏览:1003 |
Tom数 (C语言代码)浏览:555 |