51nod 1348 乘积之和 分治 + fft
2017-04-17 00:43
253 查看
给出由N个正整数组成的数组A,有Q次查询,每个查询包含一个整数K,从数组A中任选K个(K <= N)把他们乘在一起得到一个乘积。求所有不同的方案得到的乘积之和,由于结果巨大,输出Mod 100003的结果即可。例如:1 2 3,从中任选1个共3种方法,{1} {2} {3},和为6。从中任选2个共3种方法,{1 2} {1 3} {2 3},和为2 + 3 + 6 = 11。
预处理 + O(1)回答
很容易想到用分治来做,这样在分治过程中需要一个dp,这个dp递推式是O(n^2)的,
所以复杂度是O(n^2logn)的,显然不行
不过发现这个dp是卷积形式的,用fft优化,做到了O(nlog^2n),可以了
预处理 + O(1)回答
很容易想到用分治来做,这样在分治过程中需要一个dp,这个dp递推式是O(n^2)的,
所以复杂度是O(n^2logn)的,显然不行
不过发现这个dp是卷积形式的,用fft优化,做到了O(nlog^2n),可以了
相关文章推荐
- 51nod 1348 乘积之和 分治+NTT+中国剩余定理
- 51nod 1348 乘积之和(NTT+分治)
- 51nod 1348 乘积之和
- 51nod 1348 乘积之和
- 51nod 1674 区间的价值 V2(分治)
- 51nod 1258 FFT 多项式求逆 伯努利数
- 51nod 1348【next_permutation】
- 卷积、矩阵乘积、高斯模糊滤波(降噪)、空域计算(2D卷积计算)、频域计算(FFT)的理解
- bzoj 3451: Tyvj1953 Normal 点分治+fft
- [DP] [1D1D优化] [FFT] [CDQ分治] [HDU5730] Shell Necklace
- [分治FFT] LOJ#6183. 看无可看
- [分治FFT] HDU5730 Shell Necklace
- HDU5730 FFT+CDQ分治
- 【51nod 1028】 大数乘法 V2 【FFT/NTT】
- codechef Prime Distance On Tree(树分治+fft)
- Codechef Prime Distance On Tree(点分治+FFT)
- 【点分治】【FFT】Gym - 101234D - Forest Game
- hdu5730 Shell Necklace 【分治fft】
- bzoj3451/Tyvj1953:Normal(点分治+FFT)
- 【XSY2166】Hope 分治 FFT