PY个树状数组
2024-10-07 08:02:09
树状数组看起来比较简单,于是就挑它下手了...
于是生活终于也对咱下手了...
要讲的就两个东西,一个是开数组,全局变量写最前面,数组是这么开的: f=[0 for i in range(500005)]
另外一个就是 注意 split()
还有一句就是咱发现 python 对输入数据格式的要求真的是肥肠严格的,如果某 oj (特指某 hdu)上的题目数据出锅的话,py 可能会出现各种奇妙的问题【雾
这给咱的启示就是: 平时搞 OI 少 PY ,对心理 和身体 都不好
Code
f=[0 for i in range(500005)]
def lowbit(x):
return x&(-x)
def add(x, n, k):
while x<=n :
f[x]+=k
x+=lowbit(x)
def ask(x):
Res=0
while x>0:
Res+=f[x]
x-=lowbit(x)
return Res
s=input().split()
n=int(s[0])
m=int(s[1])
s=input().split()
for i in range(1,n+1):
add(i, n, int(s[i-1]))
while m>0:
s=input().split()
op=int(s[0])
x=int(s[1])
y=int(s[2])
if op==1:
add(x, n, y)
else:
print(ask(y)-ask(x-1))
m=m-1
最新文章
- [LeetCode] UTF-8 Validation 编码验证
- UCOSII内核代码分析
- 一个简单的后台与数据库交互的登录与注册[sql注入处理,以及MD5加密]
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。
- HDU 5795 A Simple Nim(简单Nim)
- asp.net实现关闭当前网页
- 阅读layim代码小记,实现可以更改用户签名的方法
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- CODEVS 1062 路由选择
- HDD-FAT32 ZIP-FAT32
- Android开发——BroadcastReceiver广播的使用
- linux workqueue的名字长度小问题
- poj 1265 Area 面积+多边形内点数
- JS和Jquery操作label标签
- Oracle Service Bus白皮书
- 在Python中使用SMTP发送电子邮件
- docker构建本地仓库后,无法登陆解决办法(CentOS/Ubuntu)
- 类自动调用to.string方法
- SVG渲染顺序及z轴显示问题(zIndex)