如何用差分维护平方

学术版

今晚没时间了,明天再回来看
by 菲斯斯夫斯基 @ 2024-04-10 22:12:04


问多点:三次方怎么办?
by 菲斯斯夫斯基 @ 2024-04-10 22:13:36


差分的差分的差分会变成常数 ``` 1 4 9 16 25 36 3 5 7 9 11 2 2 2 2 ``` @[菲斯斯夫斯基](/user/347664)
by TheShuMo @ 2024-04-10 22:14:36


``` 1 8 27 64 125 216 7 19 37 61 91 12 18 24 30 6 6 6 ```
by TheShuMo @ 2024-04-10 22:16:01


你发现 $2^2-1^2=3,3^2-2^2=5,4^2-3^3=7$。所以就相当于在差分数组上加了个等差数列。然后再差分一次,差分数组就变成了一堆连续的 $2$,然后在差分一次就变成了单点修改。
by I_will_AKIOI @ 2024-04-10 22:17:18


简单来说就是多阶差分,详情可以看P10266
by TheShuMo @ 2024-04-10 22:19:09


差分数组类似这样 ``` 0 1 4 9 16 0 0 1 3 5 7 -16 0 1 2 2 2 -23 0 1 1 1 1 -27 0 1 0 0 0 -28 ```
by I_will_AKIOI @ 2024-04-10 22:25:45


首先你得说明你要查询什么
by vflower @ 2024-04-10 23:34:12


其实这种直接做就行,相当于区间加二次函数,显然二次加二次还是二次的,具体可以看看 P4458,就简单数学算算就完了,三次也同理
by vflower @ 2024-04-10 23:35:32


@[I_will_AKIOI](/user/565265) @[TheShuMo](/user/304558) 加标记的我大概看懂了,但是请问删除标记要怎么计算?已关,谢谢
by 菲斯斯夫斯基 @ 2024-04-11 09:38:59


| 下一页