[海军国际项目办公室]生之花

Posted StaroForgin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[海军国际项目办公室]生之花相关的知识,希望对你有一定的参考价值。

生之花

S Y D e v i l \\rm\\color{black}{S}\\color{red}{YDevil} SYDevil出的恶心题,题面也太臭了。

题目描述


这里略去一张奈亚子。

题解

不得不说,手*魔鬼写的题面真的太恶臭了。

首先,对于 f ( A , n ) f(A,n) f(A,n)的转移,我们很容易想到背包上。
我们定义 d p i , j dp_{i,j} dpi,j i i i个中选了 j j j个加入我们的函数转移的所有方案的函数值之和,显然,转移中还会用到选择的总方案,所以我们还需记录 g i , j g_{i,j} gi,j表示选择函数转移的方案数。
容易得到转移方程式,
d p i , j = a d p i − 1 , j − 1 + d p i − 1 , j + b g i − 1 , j dp_{i,j}=adp_{i-1,j-1}+dp_{i-1,j}+bg_{i-1,j} dpi,j=adpi1,j1+dpi1,j+bgi1,j
g i , j = g i − 1 , j − 1 + g i − 1 , j g_{i,j}=g_{i-1,j-1}+g_{i-1,j} gi,j=gi1,j1+gi1,j
这样的话单次询问是 O ( n 2 ) O\\left(n^2\\right) O(n2),明显是可以优化的。
我们可以将我们的带 x x x的部分与不带 x x x的部分分别计算,分别记作 f a i , j fa_{i,j} fai,j f b i , j fb_{i,j} fbi,j
f a fa fa中只记录 x x x的系数, f b fb fb记录不带 x x x的部分的大小。
显然,最后的答案等于 x f a + f b xfa+fb xfa+fb,转移也比较好想,
f a i , j = a f a i − 1 , j − 1 + f a i − 1 , j , f b i , j = a f b i − 1 , j − 1 + f b i − 1 , j + b g i − 1 , j − 1 fa_{i,j}=afa_{i-1,j-1}+fa_{i-1,j},fb_{i,j}=afb_{i-1,j-1}+fb_{i-1,j}+bg_{i-1,j-1} fai,j=afai1,j1+fai1,j,fbi,j=afbi1,j1+fbi1,j+bgi1,j1
最后可以用差分求出我们询问的区间。

显然,上面的转移过程可以通过矩阵进行优化。
我们可以将第一维去掉,记 f i f_{i} fi表示 ( f a i , f b i , g i ) \\left(fa_{i},fb_{i},g_{i}\\right) (fai,fbi,gi)
当我们加入 ( a j , b j ) (a_{j},b_{j}) (aj,bj)时有转移矩阵, A j = ( a j , 0 , 0 0 , a j , 0 0 , b j , 1 ) A_{j}=\\left(\\begin{array}{cc}a_{j},0,0\\\\0,a_{j},0\\\\0,b_{j},1\\end{array}\\right) Aj=aj,0,00,aj,00,bj,1,表示我们我们增加一个时改变的方案。
显然,转移是 f i = A j f i − 1 + I f i f_{i}=A_{j}f_{i-1}+If_{i} fi=Ajfi1+Ifi
由于我们必须维护选择的点的个数这一维,所以我们必须将 A A A I I I的转移分开,维护所有的 F i F_{i} Fi,但我们有没有更简洁的维护方法呢?

其实有了上面的式子,是很容易向生成函数上靠的。
定义 F = ∑ f i x i F=\\sum f_{i}x^i F=fixi,每次转移相当于给我们的 F F F乘上 ( I + A j x ) (I+A_{j}x) (I+Ajx)
初始矩阵 f 0 = ( 1 , 0 , 1 ) f_0=\\left(1,0,1\\right) f0=(1,0,1),答案是 ∑ i = l r ( f 0 ∏ ( I + A j x ) ) [ x i ] \\sum_{i=l}^{r} (f_0\\prod(I+A_{jx}))[x^i] i=lr(f0(I+Ajx))[xi]
显然,我们目标的多项式 f 0 ∏ ( I + A j x ) f_0\\prod(I+A_{jx}) 以上是关于[海军国际项目办公室]生之花的主要内容,如果未能解决你的问题,请参考以下文章

[海军国际项目办公室]打拳

[海军国际项目办公室]羽未

[海军国际项目办公室]石子游戏

[海军国际项目办公室]游戏

[海军国际项目办公室]假人

[海军国际项目办公室]快递