解题思路:
树状数组
注意事项:
输入要快读
参考代码:
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 人评分
简单的a+b (C语言代码)浏览:827 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:998 |
【亲和数】 (C语言代码)浏览:908 |
printf基础练习2 (C语言代码)浏览:955 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:631 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |
简单的a+b (C语言代码)浏览:878 |
C语言训练-亲密数 (C语言代码)浏览:697 |