CF1747E

CF1747E List Generation

给定正整数 $ n $ 和 $ m $,统计满足下列要求的数组 \(a\) 的长度之和:

  • \(a,b\) 长度相同等于 \(k\)
  • $ k \ge 2 $ 且 $ a_1 = 0, a_k = n, b_1 = 0, b_k = m $。
  • \(\forall 1\lt i\le k\),满足:$ a_i \geq a_{i - 1} $ , $ b_i \geq b_{i - 1} $ , 且$ a_i + b_i \neq a_{i - 1} + b_{i - 1} $。
    答案对 \(998244353\) 取模.

第一步转化:考虑差分数组。

考虑长度为 \(k+1\)\(a,b\) 的差分数组,题目就转化成了:

\[\sum_{i=1}^{k+1} a_i=n\\ \sum_{i=1}^{k+1} b_i=m\\ \forall 2\le i\le k+1,(a_i\not=0\or b_i \not= 0) = 1 \]

最后一个条件不好做,直接考虑二项式反演:钦定 \(i\) 个位置打破限制,剩下的位置随便填,前两个条件直接插板做。

\[\sum_{k=1}^{n+m}(k+1)\sum_{i=0}^k(-1)^{i}\binom k i \binom {n+(k-i-1)} {k-i-1} \binom{m+(k-i-1)} {k-i-1}\\ =\sum_{k=1}^{n+m}\sum_{i=0}^k(k+1)(-1)^{i}\binom k i \binom {n+(k-i-1)} {k-i-1} \binom{m+(k-i-1)} {k-i-1}\\ =\sum_{i=0}^{n+m}\sum_{k=i}^{n+m}(k+1)(-1)^{i}\binom k i \binom {n+(k-i-1)} {k-i-1} \binom{m+(k-i-1)} {k-i-1}\\ \]

到这里先考虑枚举 \(k-i\),这样可以把后面两项搞出来。

\[\sum_{j=0}^{n+m} \sum_{i=0}^{n+m} (i+j+1)(-1)^{i} \binom{n+j-1} {j-1}\binom{m+j-1}{j-1}\binom{i+j}{i}\\ =\sum_{j=0}^{n+m} \binom{n+j-1} {j-1}\binom{m+j-1}{j-1} \sum_{i=0}^{n+m} \binom{i+j} i(i+j+1)(-1)^i\\ =\sum_{j=0}^{n+m} \binom{n+j-1} {j-1}\binom{m+j-1}{j-1} \sum_{k=j}^{n+m} \binom{k} j(k+1)(-1)^{k+j}\\ \]

现在的问题就在于观察后面的那个求和符号东西能否预处理或者递推处理,预处理是不可能了,考虑递推处理行不行。

\(f(j)\) 表示 \(\displaystyle \sum_{k=j}^{n+m} \binom{k} j(k+1)(-1)^{k+j}\\\)

\[f(j)=(j+1)(-1)^j\sum_{k=j}^{n+m} \binom{k+1} {j+1}(-1)^{k}\\ \]

容易发现后面的东西,当 \(k\) 为奇数时系数均为负,否则均为正,不妨分开讨论。

\(g(j)=\displaystyle \sum_{k=j}^{n+m} \binom{k+1} {j+1}[k\bmod2=1]\)\(h(j)=\displaystyle \sum_{k=j}^{n+m} \binom{k+1} {j+1}[k\bmod2=0]\)

容易发现:\(g(j+1)=h(j)+h(j+1)\)\(h(j+1)=g(j)+g(j+1)\)

posted @ 2022-11-12 21:25  RevolutionBP  阅读(49)  评论(0编辑  收藏  举报