∑
i
=
1
n
∑
j
=
i
n
∑
k
=
j
n
d
i
=
∑
i
=
1
n
d
i
(
n
−
i
+
1
)
(
n
−
i
+
2
)
2
=
1
2
∑
i
=
1
n
(
(
n
2
+
3
n
+
2
)
×
d
i
−
(
2
n
+
3
)
×
i
×
d
i
+
i
2
×
d
i
)
\sum_{i=1}^n\sum_{j=i}^n\sum_{k=j}^nd_i \\ =\sum_{i=1}^nd_i\frac{(n-i+1)(n-i+2)}{2} \\ =\frac{1}{2}\sum_{i=1}^n((n^2+3n+2)\times d_i-(2n+3)\times i\times d_i+i^2\times d_i)
i=1∑nj=i∑nk=j∑ndi=i=1∑ndi2(n−i+1)(n−i+2)=21i=1∑n((n2+3n+2)×di−(2n+3)×i×di+i2×di)
分别维护
d
i
,
i
×
d
i
,
i
2
×
d
i
d_i,i\times d_i,i^2\times d_i
di,i×di,i2×di 的前缀和即可。
第二种做法,线段树。
第一种维护方式,分别维护两个线段树,表示
a
i
,
i
×
a
i
a_i,i\times a_i
ai,i×ai 的区间和。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」