树状数组维护区间和支持区间加法
令原数组为\(\{a_n\}\),差分数组\(\{d_i=a_i-a_{i-1}\}\)
显然\(a_x=\sum_{i=1}^x d[i]\)
我们现在要求\(\sum_{i=1}^x a_i\)
把每个\(a_i\)都按上面的形式表示,就有\(\sum_{i=1}^x a_i=\sum_{i=1}^x d_i(x-i+1)=(x+1)\sum_{i=1}^x d_i-\sum_{i=1}^x id_i\)
于是开2个树状数组维护\(\{d_i\}\)和\(\{id_i\}\)即可
显然\(a_x=\sum_{i=1}^x d[i]\)
我们现在要求\(\sum_{i=1}^x a_i\)
把每个\(a_i\)都按上面的形式表示,就有\(\sum_{i=1}^x a_i=\sum_{i=1}^x d_i(x-i+1)=(x+1)\sum_{i=1}^x d_i-\sum_{i=1}^x id_i\)
于是开2个树状数组维护\(\{d_i\}\)和\(\{id_i\}\)即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
京东面试:如何进行JVM调优?
Java中文社羣
2024-05-21 14:43:06
Azure Service Principals ----- Azure 上最好保守的秘密的服务
Grant_Allen
2024-05-21 14:34:25
程序设计思路-球连球组成的群
flan_grean
2024-05-21 14:32:55
YiShaAdmin:一款基于.NET Core Web + Bootstrap的企业级快速开发框架
追逐時光
2024-05-21 14:31:45
美团一面:项目中有 10000 个 if else 如何优化?想了半天,被问懵了!
Java技術棧
2024-05-21 14:31:14
一种精度更高的hopf直线检测策略, 一种高精度边缘检测方法.
張博的博客
2024-05-21 14:29:34
深入了解安全工具Vault、Vault根令牌和解封密钥,详细整理部署Vault的详细步骤
馬昌偉
2024-05-21 14:23:34
keycloak~作为第三方登录的对接标准
張佔嶺
2024-05-21 14:22:24
hdu4027(线段树区间操作)
SnowLove
2024-05-21 14:20:03
Python 将PowerPoint (PPT/PPTX) 转为HTML
E-iceblue
2024-05-21 14:19:53