解题思路:
树状数组
注意事项:
输入要快读
参考代码:
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++代码)浏览:1091 |
C语言训练-求PI* (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1090 |
【金明的预算方案】 (C++代码)浏览:838 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:898 |
字符逆序 (C语言代码)浏览:636 |
The 3n + 1 problem (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:553 |
哥德巴赫曾猜测 (C语言代码)浏览:714 |