20261005-T3-Cards 解题总结

\(\small \mathsf{date:20261005}\)

题面:
你有 \(n\) 张有标号的牌,还有一个初始值为 \(0\) 的力量值 \(x\)。每张牌在游戏开始时独立地以相同概率生成以下四种类型之一:

  • 加法牌:\(x \leftarrow x + a\)
  • 减法牌:\(x \leftarrow x - b\)
  • 翻倍牌:\(x \leftarrow 2x\)
  • 减半牌:\(x \leftarrow x/2\)

牌的类型生成后就不再改变。接下来进行 \(m\) 轮:每轮都将这同一副牌等概率地随机排列,然后按照排列顺序依次使用全部 \(n\) 张牌。不同轮次的排列相互独立;即使牌的类型相同,它们仍然是不同的有标号牌。求全部 \(m\) 轮结束后 \(x\) 的期望值,对 \(998244353\) 取模。

15pts:

当 \(m=1\) 时, 由于初始的力量为 \(0\),考虑从头开始一个一个插入。有:

\[dp_i=\frac{dp_{i-1}-\frac{1}{2}dp_{i-1}+a-b}{4}+dp_{i-1} \]

线性递推即可。

25pts:

当有多轮的时候,“后面只能用第一次的牌”让优化反复递推不可行。因此考虑 DP 的贡献思想。

首先,将四种牌以 \(x=kx+b\) 的形式表示:

  • \(x=1x+a\)
  • \(x=1x-b\)
  • \(x=2x+0\)
  • \(x=\frac{1}{2}x+0\)

不难发现,一轮过后的新力量值与当前力量值存在以下关系:

\[nx=Sx+C \]

其中 \(S\) 为本轮所有卡片的 \(k\) 值之积,\(C\) 的构成较复杂。

那么现在考虑如何算出 \(C\):
钦定一个加法牌,其后方有 \(r\) 张牌,前方有 \(n-r-1\) 张。设当前是第 \(j\) 轮操作。
则当前牌的贡献为:

\[\frac{a-b}{4}\times E_j^{n-r-1}\times E_{j+1}^{r} \]

其中,

\[E_j=\frac{2+2^j+2^{-j}}{4} \]

现在解释上面的公式:\(C\) 是最终贡献式的常数项,则它由当前牌的常数项与其它牌的系数相乘而来。当前牌常数项的期望是 \(\frac{a-b+0+0}{4}=\frac{a-b}{4}\),前方牌截至本轮已经被重排了 \(j\) 次,后方牌被重排了 \(j+1\) 次。被重排 \(j\) 次时,当前牌的 \(k\) 值期望是 \(E_j=\frac{1^j+1^j+2^j+\frac{1}{2}^j}{4}=E_j=\frac{2+2^j+2^{-j}}{4}\),逐个相乘得到式子。每一张牌都可以被钦定产生贡献,所以:

\[C_j=\sum_{r=0}^{n-1}\frac{a-b}{4}\times E_j^{n-r-1}\times E_{j+1}^{r} \]

这样,枚举 \(j,r\), 我们就有了方法计算出答案。

100pts:

空有方法并不够。\(O(nm)\) 的复杂度显然不可接受。

发现 \(E\) 的计算部分可以表示成这个样子:

\[A_{n-1}+A_{n-2}B+\dots+AB_{n-2}+B_{n-1}=\frac{B_n-A_n}{B-A} \]

因此,

\[C_j=\frac{a-b}{4}\frac{E_{j+1}^{n}-E_{j}^{n}}{E_{j+1}-E_j} \]

似乎不能再改动了,于是将 \(E\) 还原:设 \(x=2^j\),则

\[E_{j+1}=\frac{(2x+1)^2}{8x},E_j=\frac{(x+1)^2}{4x}=\frac{2(x+1)^2}{8x} \]

\[C_j=\frac{a-b}{4}\frac{1}{2^{3n-3}{x^{n-1}}}\frac{(2x+1)^{2n}-2^n(x+1)^{2n}}{2x^2-1} \]

设 \(P(x)=(2x+1)^{2n}-2^n(x+1)^{2n}\),\(Q(x)=\frac{(2x+1)^{2n}-2^n(x+1)^{2n}}{2x^2-1}\),
由于直接对多项式下手没有前途,所以考虑以下递推。
设 \(P(x)=\sum_{k=0}^{2n-2}p_k{x^{k+1-n}}=(2x^2-1)Q(x)\),\(Q(x)=\sum_{k=0}^{2n-2}q_kx^{k+1-n}\),
因此 \(p_k=2q_{k-2}-q_k\),\(q_k=2q_{k-2}-p_k\)。
而由 \(P(x)\) 已有的式子得到 \(p_k​=\binom{k}{2n​}(2^k−2^n)\) ,所以 \(q\) 就可以递推了。

\[C_j=(a-b){2^{1-3n}{x^{1-n}}}\sum_{k=0}^{2n-2}q_kx^{k+1-n} \]

直接代入,答案就是 \(S_j+C_j\)。

posted @ 2026-10-05 20:10  灿若星尘  阅读(62)  评论(0)    收藏  举报