传送门
思路
应用多个前缀和推出式子即可
30 p t s 30pts 30pts:
首先如果暴力算的话很简单,直接套三层循环就好了(真的是三层!!最后两个 s i g m a sigma sigma一起算就好了)
∑ l = 1 n ∑ r = l n ∑ i = l r a [ i ] ∑ i = l r b [ i ] \sum_{l = 1}^{n}\sum_{r = l}^{n}\sum_{i = l}^{r}a[i]\sum_{i = l}^{r}b[i] l=1∑nr=l∑ni=l∑ra[i]i=l∑rb[i]
70 p t s 70pts 70pts:
其实不用这么麻烦,我们发现最后两个 s i g m a sigma sigma可以用前缀和 O ( 1 ) O(1) O(1)算出来,这样就可以 70 70 70分了(见代码 s u b 1 sub1 sub1)
100 p t s 100pts 100pts:
考虑再拆一层循环(这里用 S A SA SA和