QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: Qingyu

Posted at: 2026-02-25 01:39:59

Last updated: 2026-02-25 01:40:47

Back to Problem

乐灵的题解。

先考虑得到 $\operatorname{poly}(n)$ 的做法。

不妨设 $A_p=\{x \mid [p,x]\in S\}$,考察 $A_0$。下面我们在 $l>0$ 的区间对应的子集合法的条件下考虑 $A_0$ 要满足什么条件。

如果 $A_0$ 非空,考虑 $A_0$ 中的任意元素 $t$。对于任意 $z\geq t, z\in A_0$,因为同时有 $[0,t],[0,z]\in S$,我们有 $[t,z]\in S$,于是 $A_0\cap [t,+\infty) \subseteq A_t$。

再考虑 $A_0$ 中非 $0$ 的最小元素 $y$,由前文我们知道 $A_0 - \{0\}\subseteq A_y$。考虑 $y< v \in A_0$,我们取出 $v$ 在 $A_y$ 中的前驱 $u$,利用 $u,v\in A_y$ 能推出 $[u,v]\in S$。加上 $[0,v]\in S$ 可以得到 $[0,u]\in S$。于是我们知道 $A_0-\{0\}$ 一定是 $A_y$ 的一段前缀。我们称这个条件为条件一

而对于 $0< s< y$,考虑所有区间 $[s,t]$。如果 $t \geq y$,那么同时有 $[0,y],[s,t]$ 可以推出也有 $[0,s]$,与 $y$ 最小矛盾。所以一定有 $t< y$。我们称这个条件为条件二

容易发现这两个条件是必要的。在有这两个条件之后,考虑 $0\leq a< r \leq b$ 且 $[0,r],[a,b]\in S$ 的情况。

$a=0$ 时,条件一保证了 $r,b\in A_y$,因此能推出 $[r,b] \in S$。

$r\geq y$,$a>0$ 的情况由条件二有 $a\geq y$。由条件一有 $[y,r]\in S$,通过 $[y,r],[a,b]\in S$ 我们知道 $[y,a]\in S$,而利用条件一和 $a< r$ 我们又能推出 $[0,a]\in S$。类似地,由 $[y,r],[a,b]\in S$ 我们也知道 $[r,b]\in S$。

这样我们就通过这两个条件推出了 $[0,a],[r,b]\in S$,证明了它们是充要条件。

设 $F_{i,j}$ 为 $n=i$ 且 $|A_0|=j$ 时的答案,此处不考虑所有形如 $[i,i]$ 的区间。用前缀和优化可以得到一个 $O(n^3)$ 做法。

我们来观察一下这个 $O(n^3)$ 做法的转移,其转移大概形如: $$ F_{i,j}=q^j\sum_{k>0}f_k\sum_{l\geq j-1}F_{i-k,l} $$ 此处要求 $j>0$,$j=0$ 时有 $F_{i,0}=f_{i+1}$。这里的 $f_i$ 在 $i=1$ 时为 $1$,在 $i>1$ 时为 $\sum_j F_{i-2,j}$,即 $n=i-2$ 的答案。

令 $G_j(x)=\sum_i F_{i,j}x^i$,$g(x)=\sum_i f_ix^i$,我们有: $$ G_j(x)=q^j\sum_{l\geq j-1}G_l(x)g(x)\\ G_0(x)=\frac{g(x)}{x} $$ 可以发现每个 $G$ 都是一个关于 $g$ 的多项式除以 $x$,因此设 $G_j(x)=\frac{H_j(g(x))}{x}$,$[x^m]\sum_j H_j(x)$ 实际上是以下格路计数的结果:

有一个序列 $a_0,a_1,\dots,a_{m-1}$,$a_0=0$,$0< a_i\leq a_{i-1}+1$,其权值是 $q^{\sum a_i}$,求所有 $a$ 的权值和。

我们设这个值为 $p_{m}$,那么其对应的生成函数 $P(x)$ 满足 $P(x)=\frac{x}{1-P(qx)}$,推导方式就是把所有 $a_i=1$ 的位置拿出来。

于是 $g(x)$ 满足以下等式: $$ \frac{g(x)-x}{x^2}=\frac{P(g(x))}{x} $$ 也就是说 $g(x)$ 的复合逆是 $\frac{x}{1+P(x)}$。

于是求出 $P(x)$ 之后只需要多项式快速幂即可得到 $[x^{n+2}]g(x)$,乘上 $[i,i]$ 带来的 $q^{n+1}$ 就是答案。

$P(x)$ 可以用全在线卷积 $2\log$ 计算,但也可以把它写作连分式,然后用倍增矩阵乘法的方式得到其分子分母。这样是 $1\log $ 的。

Comments

No comments yet.