傳送門:https://www.luogu.com.cn/problem/P3723數組
解題思路函數
先化簡式子,$ Ans=\sum_{i=1}^n (a_i+b_{i+x}+k)^2=\sum a_{i}^2 + \sum b_{i}^2 + nk^2+\sum (a_{i}-b_{i}) * k - \sum a_{i}b_{i+x} $spa
前面的兩個平方的和O(n)直接算,中間的直接二次函數找極值便可(不過若極點的橫座標是負數的話注意四捨五入的方法,負數的取整是會向上取的,例如printf("%d",-7.8)就會輸出-7),最後的看上去是一個卷積的形式,考慮FFT,$a_{i}和b_{i+x}的下標相差x$,容易想到翻轉a數組,而後直接FFT便可get
不要忘記倍長下b數組it