bzoj3771专题

BZOJ3771 - Triple

Portal Description 给出\(n\)个互不相同的数\(\{a_n\}(a_i\leq4\times10^4)\),从中选出一至三个数,其和为\(sum\)。求对于所有可能的\(sum\)各有多少种方案。 Solution 生成函数+容斥原理+FFT。 定义\(A(x)\)为仅选取一个数的生成函数,即\(A(a_i)=1\);\(B(x)\)为仅选取两个相同数的生成函数,即\(B(

BZOJ3771 : Triple (生成函数+FFT+容斥)

传送门 大概就是构造分别取一个,两个,三个,三种的生成函数 然后乘的时候肯定有算重的 就容斥就好了 代码里有式子:(rank24,有点儿小开心) #include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define LL lon