歌唱王国 · 另

这周校本又变成自习了,无语……作业我当然不会去提前写,随便翻了翻书打发时间。恰巧翻到讲期望的章节,便又想起了这题,退役了也不妨做做来消遣一下(。一时半会儿想不起做法了,死磕了两节课……最后想到了一个(相较于原做法)巨复杂的做法。

只依稀记起是要记两个数列。一个 \(f_n\) 表示恰好在第 \(n\) 次得到 \(S\),一个 \(g_n\) 表示 \(n\) 次之后都没有得到。

一开始以为显然有 \(f_n+g_n=1\),但想想之后发现有大问题。实际上是

\[g_n=1-\sum_{i\leq n} f_i \]

然后对 \(f_n\) 列式。对于 \(n<k\),显然 \(f_n=0\)。对于 \(n\geq k\) 考虑到合法的最终结果是一个串后面跟一个 \(S\) ,那么可以从 \(g_{n-L}\times |C|^{-L}\) 转移。但会发现 Border 会造成影响,就是说还没有到 \(n\) 的时候序列就已经终结,这种情况不应该算在 \(f_n\) 里面,应该减去。当时想到这里的时候脑子抽了,死活想到不该怎么减。这个时候应该努力镇静,抓住特点。注意到是在 \(n\) 之前就有了 \(S\),所以应该是从 \(f\) 转移。假设从 \(n-L\) 开始,只多随机了 \(k\) 次就得到了 \(S\),那么减去的就是 \(f_{n-L+k}\) 再乘上之前多乘的常数。记所有 Border 的下标集合是 \(B_1\) ,得到

\[\begin{split} f_n&=g_{n-L}\times |C|^{-L}-\sum_{k\in B_1} f_{n-L+k}\times |C|^{k-L}\\ &=(1-\sum_{i\leq n} f_i)\times |C|^{-L}-\dots \end{split} \]

\(F(x)=\sum_{n\geq 0} f_nx^n\),把 \(f_n\) 代入并化简。这里需要注意一个问题,也是我当时犯的错误,就是范围的问题。当时没管下标范围,最后算出来答案多出来一个常数 \(L\)。实际上需要注意到 \(f_n\) 是分段的,代入的时候不能一并代入(化简一时爽,查错两行泪)。

\[\begin{split} F(x)&=\sum_{n\geq L} \Big( (1-\sum_{i\leq n} f_i)\times |C|^{-L}-\sum_{k\in B_1} f_{n-L+k}\times |C|^{k-L}\Big)x^n\\ F(x)&=|C|^{-L} \Big(\frac{x^L}{1-x}-\frac{x^L}{1-x}F(x)\Big)-\sum_{k\in B_{1}} \frac{x^{L-k}}{|C|^{L-k}}F(x)\\ \end{split} \]

\(B_2=B_1\cup\{L\}\)

\[\begin{split} F(x)\sum_{k\in B_{2}}\frac{x^{L-k}}{|C|^{L-k}}+\frac{x^L}{1-x}F(x)|C|^{-L}&=|C|^{-L}\frac{x^L}{1-x}\\ (1-x)F(x)\sum_{k\in B_{2}}\frac{x^{L-k}}{|C|^{L-k}}+x^LF(x)|C|^{-L}&=|C|^{-L}x^L \end{split} \]

恒等式两边关于 \(x\) 求导,得

\[\begin{split} \Big(-F(x)+F^{\prime}(x)(1-x)\Big)\sum_{k\in B_{2}}\frac{x^{L-k}}{|C|^{L-k}}+\sum_{k\in B_2} \frac{(L-k)x^{L-k-1}}{|C|^{L-k}}(1-x)F(x)+(Lx^{L-1}F(x)+F^{\prime}(x)x^L)|C|^{-L}=\frac{L}{|C|^L}x^{L-1} \end{split} \]

代入 \(x=1\),得到

\[-\sum_{k\in B_2} |C|^{k-L}+(L+F^{\prime}(1))|C|^{-L}=\frac{L}{|C|^L} \]

整理得到

\[E=F^{\prime}(x)=\sum_{k\in B_2} |C|^k \]

posted @ 2022-05-07 22:01  Kreap  阅读(37)  评论(2编辑  收藏  举报