专栏文章

奖励:纯粹通过生成函数来解决问题。

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miotv3qw
此快照首次捕获于
2025/12/03 01:04
3 个月前
此快照最后确认于
2025/12/03 01:04
3 个月前
查看原文
我们发现根的区间必须完全包含于子孙的区间或者与其不交,因此只考虑这颗子树内的相对大小时,根的区间形如 [i,i+1][i,i+1]
因此一棵树的答案是 (2n)!2nsi\frac{(2n)!}{2^{n}\prod s_i}
直接生成函数,有 dfdx=ef+(y1)\frac{df}{dx}=e^f+(y-1)
这里 yy 表示叶子的个数,xx 表示总结点数,我们要求的答案是 (2n)!n!n2n[xnyk]f\frac{(2n)!n!}{n2^n}[x^ny^k]f
为了方便起见,下面都用 ff' 表示 dfdx\frac{df}{dx}
f=ef+y1fef=1+(y1)eff'=e^f+y-1\\ f'e^{-f}=1+(y-1)e^{-f}\\
g=efg=e^{-f},那么有
g=1+(y1)ge(y1)x=e(y1)xg+(y1)e(y1)xg-g'=1+(y-1)g\\ -e^{(y-1)x}=e^{(y-1)x}g'+(y-1)e^{(y-1)x}g\\
h=e(y1)xgh=e^{(y-1)x}g,那么有
e(y1)x=hh=e(y1)x1y+C-e^{(y-1)x}=h'\\ h=\frac{e^{(y-1)x}}{1-y}+C\\
这里 hh 的常数项为 11,因此 C=y1yC=-\frac{y}{1-y}
g=11yye(1y)x1yf=ln(1ye(1y)x1y)=ln(1y)ln(1ye(1y)x)g=\frac{1}{1-y}-\frac{ye^{(1-y)x}}{1-y}\\ f=-\ln(\frac{1-ye^{(1-y)x}}{1-y})=\ln(1-y)-\ln(1-ye^{(1-y)x}) n![xnyk]f=i=1k(1)nk+iin1(nki)n![x^ny^k]f=\sum_{i=1}^k (-1)^{n-k+i}i^{n-1}\binom{n}{k-i}
然后就可以 O(n)O(n) 预处理 O(klogkn)O(k\log_k n) 计算答案,或者 O(nlogn)O(n\log n) 计算一行答案。
upd:好像也不需要 O(n)O(n) 预处理。

评论

0 条评论,欢迎与作者交流。

正在加载评论...