BZOJ3509-FFT,分块

参考博客

题目大意:

给你一个序列,问你有多少个三元组 ( i , j , k ) (i,j,k) (i,j,k)满足他们是一个等差数列。

题目思路:

枚举中间项,暴力fft.复杂度 O ( n 2 l o g n ) O(n^2logn) O(n2logn).

分块,块大小 n l o g n = 2000 \sqrt{nlogn}=2000 nlogn ​=2000最优.

对于块内暴力计算,块外fft.复杂度: O ( ( n l o g n ) 3 2 ) O((nlogn)^{\frac{3}{2}}) O((nlogn)23​)

上一篇:两种方式对线性规划问题求解详细步骤:【Excel 2016】与【Python 编程】


下一篇:美国质疑海外版抖音数据回传中国;华为补助武汉研发人员每人每天2000元;车好多全员降薪30%至50%