闲话 24.7.28

闲话

今天闲话的内容其实已经在前面的闲话里预告了(
下面把 YDRG006G 称作 (?) 题。(这也是内部通称)
6.18:实现了 (?) 题的 std
7.15:确定 (?) 题会出现在熨斗月赛

这题还挺简单的不是吗(
至少场上有个组合意义大神(handle:shijiuwan)推出了只用组合数的式子:

\[\left(\dbinom{2n}n-\dbinom{2n}{n+1}\right)\dbinom nk+\sum_{x=1}^n\sum_{y=0}^{x-1}\sum_{i=1}^{\min(k,x)}\dbinom{x-1}{i-1}\dbinom{n-y}{k-i}\left(\dbinom{x+y-1}{x-1}-\dbinom{x+y-1}x\right)\left(\dbinom{2n-x-y}{n-y}-\dbinom{2n-x-y}{n-y+1}\right) \]

呃呃。有没有数学大神帮我看看这个还有救吗(

推歌:七月狭缝 by 负二价- feat. 言和
仙品 /qdqd

放下成箱的行李
在六月常驻的雨
捡起泛黄的信笺
我梦见
物质 / 是脉搏的化石
生命 / 是传承的歌谣

祛魅:云斗新比赛的括号序列题怎么做?

本题来自我和 jijidawang。我只把我的部分放在下面,想要全部题解的可以去找 jjdw 要 pdf。

合法括号序列的定义:

  1. 空括号序列是合法括号序列;
  2. A 是合法括号序列,则 (A) 也是合法括号序列;
  3. AB 都是合法括号序列,则 AB 也是合法括号序列;
  4. 除此之外的所有括号序列均不是合法括号序列。

(?) 题

一个字符集为 \(\{\)(, ?, )\(\}\) 的序列是好的,当且仅当存在一种方案,使得把每个 ? 替换为 () 后得到的序列是合法括号序列。

现在给定 \(n\),你需要对每个 \(1\le k \le n\) 计数长度为 \(2n\),恰包含 \(k\)? 的好序列。答案对 \(10^9 + 3579\)(一个质数,非 ntt 模数)取模。

\(1\le n\le 10^7\),时间限制 \(10s\)

常数真的很大(
specify 不是我做的,我只会 analyze。

jjdw 声称,通过 [数据删除] 我们可以知道答案即为

\[[s^kt^{2n}] \frac{\left(1-\sqrt{1-4(1+s)t^2}\right)\left(1-\sqrt{1-4(1+s)t^2}-4(1+s)t^2\right)}{2(1+s)^2t^2\left(1-\sqrt{1-4(1+s)t^2}-2(2+s)t^2\right)} \]

你相信这个式子可以 \(O(n)\) 求一行吗?

可能并不相信!但是接下来你会慢慢相信我的 😉
注意到二叉树方程的形式,定向整理得

\[[s^kt^{2n}] \frac{\dfrac{1-\sqrt{1-4(1+s)t^2}}{2(1+s)t^2} \left(\dfrac{1-\sqrt{1-4(1+s)t^2}}{2(1+s)t^2} - 2\right)}{(1+s)\left(\dfrac{1-\sqrt{1-4(1+s)t^2}}{2(1+s)t^2}-\dfrac{2+s}{1+s}\right)} \]

\(H(s, t^2) = \dfrac{1-\sqrt{1-4(1+s)t^2}}{2(1+s)t^2} - 1\),其满足二叉树方程 \(H = (1+s)t(H+1)^2\)。对 \(t\) 维,原式为复合的形式。根据拉格朗日反演,整理得

\[\begin{aligned} \\ = \ & [t^{2n}] \frac{H^2(s, t^2) - 1}{(1+s)H(s,t^2)-1} \\ = \ & [t^{n}] \frac{H^2(s, t) - 1}{(1+s)H(s,t)-1} \\ = \ & \frac{1}{n} [t^{n - 1}] \left(\frac{t^2 - 1}{(1+s)t-1}\right)' \left(\frac{t}{\frac{t}{(1+s)(1+t)^2}}\right)^n \\ = \ & \frac{1}{n} [t^{n - 1}] \frac{(1+s)^n(1+t)^{2n}\left(s(t^2+1)+(t-1)^2\right)}{((1+s)t-1)^2} \end{aligned}\]

随后 \(1/n\) 外的部分即

\[\begin{aligned}&[s^kt^{n-1}]\frac{(1+s)^n(1+t)^{2n}\left(s(t^2+1)+(t-1)^2\right)}{((1+s)t-1)^2}\\=&[s^k](1+s)^n[t^{n-1}]((1+s)t^2-2t+(1+s))\dfrac{(1+t)^{2n}}{(1-(1+s)t)^2}\\=&[s^k](1+s)^n\left(\sum_{i=0}^{n-3}\binom{2n}i(n-i-2)(1+s)^{n-i-2}-2\sum_{i=0}^{n-2}\binom{2n}i(n-i-1)(1+s)^{n-i-2}+\sum_{i=0}^{n-1}\binom{2n}i(n-i)(1+s)^{n-i}\right)\\=&\sum_{i=0}^{n-3}\binom{2n}i\binom{2n-2-i}k(n-i-2)-2\sum_{i=0}^{n-2}\binom{2n}i\binom{2n-2-i}k(n-i-1)+\sum_{i=0}^{n-1}\binom{2n}i\binom{2n-i}k(n-i)\end{aligned} \]

到这一步我们便可自然地得到一种 \(O(n)\) 计算单点的方法。然而使用此方法对每个 \(k\) 求出答案是困难的,处理不太封闭的和式总难以应用直觉获得递推或进行简化。

因此回到 gf:

\[[s^k](1+s)^n\left(\sum_{i=0}^{n-3}\binom{2n}i(n-i-2)(1+s)^{n-i-2}-2\sum_{i=0}^{n-2}\binom{2n}i(n-i-1)(1+s)^{n-i-2}+\sum_{i=0}^{n-1}\binom{2n}i(n-i)(1+s)^{n-i}\right) \]

可以看出复合 \(s + 1\) 的部分。经过一些推导知道这就是

\[[s^k]\left(\binom{2n}{n+3}{}_2F_1\left(\left.\begin{matrix}2,3-n\\n+4\end{matrix}\right\rvert-s\right)s^{n+1} + \binom{2n}{n+2}{}_2F_1\left(\left.\begin{matrix}2,2-n\\n+3\end{matrix}\right\rvert-s\right)s^n + \binom{2n}{n+1}{}_2F_1\left(\left.\begin{matrix}2,1-n\\n+2\end{matrix}\right\rvert-s\right)s^{n+1}\right)\circ(1+s) \]

这自然是 d-finite 的。确定 \(n\) 后可以 \(O(n)\) 对每个 \(k\) 求出答案,随后回答询问即可。使用 ode 自动机,总时间复杂度 \(O(n)\)

我用 ode 自动机找出来的递推式需要前五项作为初值,所以 std 需要用五次上面的线性求单点,然后线性地递推出每一项。代码不放了,没有实现难度。

能不能再给力一点啊?常数实在太大了!

posted @ 2024-07-28 07:39  joke3579  阅读(189)  评论(1编辑  收藏  举报