[硫化铂]题目名称

Posted StaroForgin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[硫化铂]题目名称相关的知识,希望对你有一定的参考价值。

题目名称

题目概述



题解

看到这道题,我们显然不可能将每一个数都枚举一遍,也就是说,我们需要用更加简单的方式来表示我们这些数,生成函数正是一种很好的选择。
我们的生成函数 A ( x ) = ∑ i = 1 n ∑ j = l i r i x j = ∑ i = 1 n x l − x r + 1 1 − x A(x)=\\sum_i=1^n\\sum_j=l_i^r_ix^j=\\sum_i=1^n\\fracx^l-x^r+11-x A(x)=i=1nj=lirixj=i=1n1xxlxr+1,如果我们是在四个集合中选显然直接乘起来就可以了,但我们是要求从一个集合中选出四个不重复的数集,也就是说,我们得在上面的基础上去重。
去重后有,
A n s = [ x s ] 1 24 ( A 4 ( x ) − 6 A ( x 2 ) A 2 ( x ) + 3 A 2 ( x 2 ) + 8 A ( x 3 ) A ( x ) − 6 A ( x 4 ) ) Ans=[x^s]\\frac124(A^4(x)-6A(x^2)A^2(x)+3A^2(x^2)+8A(x^3)A(x)-6A(x^4)) Ans=[xs]241(A4(x)6A(x2)A2(x)+3A2(x2)+8A(x3)A(x)6A(x4))该式本身,是在枚举我们相同数的可能,使得最后只有全部不同的数集可以留下。
具体的计算方式,可以看成一个解线性方程组的形式,计算比较简单。

好的,我们已经得到了我们的答案式子,考虑如何计算这 x s x^s xs处的系数。
显然,对于后三个式子的贡献,我们完全可以暴力枚举贡献到 x s x^s xs处的值是多少。
那原来的区间合并即可。
而对于前面两个式子,就有点复杂了。
A 4 ( x ) = 1 ( 1 − x ) 4 ( ∑ x l − x r + 1 ) 4 = ∑ i = 0 s ( s − i + 3 3 ) [ x i ] ( ∑ x l − x r + 1 ) 4 A^4(x)=\\frac1(1-x)^4(\\sum x^l-x^r+1)^4=\\sum_i=0^s\\binoms-i+33[x^i](\\sum x^l-x^r+1)^4 A4(x)=(1x)41(xlxr+1)4=i=0s(3si+3)[xi](xlxr+1)4
显然,对于后面那个四次方式,我们可以看成两个二次方式子乘起来,不妨记乘完后有 m m m项有系数,第 i i i项次数为 a i a_i ai,系数为 f i f_i fi
进而有,
A 4 ( x ) = ∑ a i + a j ⩽ s f i f j ( s − a i − a j + 3 3 ) A^4(x)=\\sum_a_i+a_j\\leqslant sf_if_j\\binoms-a_i-a_j+33 A4(x)=ai+ajsfifj(3saiaj+3)
如果有组合数的话是相当不好维护的,考虑拆一下,可得
A 4 ( x ) = ∑ a i + a j ⩽ s f i f j ( s − a i − s j + 3 ) ( s − a i − a j + 2 ) ( s − a i − s j + 1 ) 6 = ∑ a i + a j ⩽ s f i f j ( s − a i ) 3 + ( s − a i ) 2 ( 6 − 3 a j ) + ( s − a i ) ( 11 − 12 a j + 3 a j 2 ) + ( 3 − a j ) ( 2 − a j ) ( 1 − a j ) 6 A^4(x)=\\sum_a_i+a_j\\leqslant sf_if_j\\frac(s-a_i-s_j+3)(s-a_i-a_j+2)(s-a_i-s_j+1)6\\\\ =\\sum_a_i+a_j\\leqslant sf_if_j\\frac(s-a_i)^3+(s-a_i)^2(6-3a_j)+(s-a_i)(11-12a_j+3a_j^2)+(3-a_j)(2-a_j)(1-a_j)6 A4(x)=ai+ajsfifj6(saisj+3)(saiaj+2)(saisj+1)=ai+ajsfifj6(sai以上是关于[硫化铂]题目名称的主要内容,如果未能解决你的问题,请参考以下文章

[硫化铂]旅行

[硫化铂]传染

[硫化铂]好

[硫化铂]treecnt

[硫化铂]未来

[硫化铂]启程的日子