1. 程式人生 > >BZOJ4827: [Hnoi2017]禮物(FFT)

BZOJ4827: [Hnoi2017]禮物(FFT)

傳送門

題意:
給兩個序列ai,bi,可以對b序列進行右移或者整體加減c,最小化

i(xiyici)2.

題解:
標準FFT裸題,真不敢相信這是T3的題..

首先對原式展開,得:

ix2i+iy2i+nc22c(xiyi)i2xiyi

然後有一堆常數,問題轉化為求2xiyi最小,把y陣列反過來,直接FFT即可.
最後直接二次函式最小值.注意有一點坑的是這個極值不一定在整數域取得,所以要取相鄰兩三個點算一算取最小值.
Code:http://paste.ubuntu.com/25605289/