专栏文章

题解:P14461 【MX-S10-T2】『FeOI-4』青年晚报

P14461题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minbw9f6
此快照首次捕获于
2025/12/01 23:53
3 个月前
此快照最后确认于
2025/12/01 23:53
3 个月前
查看原文
挺有趣的一个组合数题。
发现这个 FF 函数和 GG 函数结合的形式十分丑陋,所以第一件事应该是把 FFGG 拆开。
Fi,jF_{i,j} 表示 FiF_ijj 项系数,有关系式 Fi,j=(j+1)×Fi,j+1F'_{i,j}=(j+1)\times F_{i,j+1}
Fi,j=Gi1,j+Gi1,j=Gi1,j+(j+1)×Gi1,j+1=Fi2,jFi2,j+(j+1)×(Fi2,j+1Fi2,j+1)=Fi2,j(j+1)×Fi2,j+1+(j+1)×Fi2,j+1(j+1)×(j+2)×Fi2,j+2=Fi2,j(j+1)×(j+2)×Fi2,j+2Gi,j=Fi1,jFi1,j=Fi1,j(j+1)×Fi1,j+1=Gi2,j+Gi2,j(j+1)×(Gi2,j+1+Gi2,j+1)=Gi2,j+(j+1)×Gi2,j+1(j+1)×Gi2,j+1(j+1)×(j+2)×Gi2,j+2=Gi2,j(j+1)×(j+2)×Gi2,j+2\begin{aligned} &F_{i,j}\\ =&G_{i-1,j}+G'_{i-1,j}\\ =&G_{i-1,j}+(j+1)\times G_{i-1,j+1}\\ =&F_{i-2,j}-F'_{i-2,j}+(j+1)\times(F_{i-2,j+1}-F'_{i-2,j+1})\\ =&F_{i-2,j}-(j+1)\times F_{i-2,j+1}+(j+1)\times F_{i-2,j+1}-(j+1)\times (j+2) \times F_{i-2,j+2}\\ =&F_{i-2,j}-(j+1)\times (j+2) \times F_{i-2,j+2}\\ &G_{i,j}\\ =&F_{i-1,j}-F'_{i-1,j}\\ =&F_{i-1,j}-(j+1)\times F_{i-1,j+1}\\ =&G_{i-2,j}+G'_{i-2,j}-(j+1)\times(G_{i-2,j+1} +G'_{i-2,j+1})\\ =&G_{i-2,j}+(j+1)\times G_{i-2,j+1}-(j+1)\times G_{i-2,j+1}-(j+1)\times (j+2) \times G_{i-2,j+2}\\ =&G_{i-2,j}-(j+1)\times (j+2) \times G_{i-2,j+2} \end{aligned}
可以发现 FFGG 的递推式是相同的,所以可以用同一份代码计算 FFGG
直接照着这个使用矩阵加速能做到 O(m3logn)O(m^3\log n) 的复杂度。
考虑正解,发现转移的第一维步长是偶数,所以如果 nn 是奇数则可以先令 nn1n\leftarrow n-1 再特殊处理最后一步。接下来讨论 nn 是偶数时的方案。我们将 FF 数组的转移示意图画出来。
图中红色边的权值是 11,绿色边的权值是 (j+1)(j+2)-(j+1)(j+2)
我们发现一个 f0,jf_{0,j}fn,jf_{n,j} 的贡献可以被拆成两部分,一部分是绿色边的边权,另一部分是转移方案数。显然从一个 xx 转移到 yy 时,绿色边的边权是固定的,即 (1)xy2t=y+1xt(-1)^{{x-y}\over 2}\displaystyle \prod _{t=y+1}^{x}t,转移方案数是简单组合数,考虑从 xx 走到 yy 的时候走了几步绿边,方案数是 (n2xy2)\displaystyle \binom{\lfloor{{n}\over {2}}\rfloor}{{x-y}\over 2}
综上 Fn,i=j=1mi2(1)jt=i+1i+j×2t×(n2j)×F0,i+j×2F_{n,i}=\displaystyle \sum_{j=1}^{\lfloor{{m-i}\over 2}\rfloor}(-1)^j\prod _{t=i+1}^{i+j\times 2}t \times\binom{\lfloor{{n}\over {2}}\rfloor}{j}\times F_{0,i+j\times 2},照着这个式子写能做到 O(m2)O(m^2) 的复杂度。

评论

0 条评论,欢迎与作者交流。

正在加载评论...