萌新初学拉格朗日反演,这个看起来很对所以应该是对的吧?
把 n 个点连成有 k 棵树的森林,并且要求 1,2,⋯,k 这 k 个点两两不在同一棵树的方案数。
首先通过看错题求个连成 k 棵有根树的个数,并且树和树之间有顺序。
令 T 有标号有根树的 EGF,则 T=zeT,答案即为 n![zn]Tk.
拉格朗日反演。
T 的复合逆 G=zez,再令 H=zk.
n![xn]Tk=n![zn]H(T)=(n−1)![zn−1]H′(z)(zG)n=k(n−1)![zn−1]zk−1enz=k(n−1)![zn−k]enz=k(n−1)!nn−k1(n−k)!=k⋅nn−k−1⋅nk––
然后考虑原问题是 1,2,⋯,k 两两不在同一棵树,那么这些点就可以看作它所在的树的根,并且按照这个根的相对大小顺序来作为树之间的相对顺序。然后考虑对这样一个方案如何推得刚刚求解的问题:给它重标号使得根并非是强制 1,2,⋯,k.首先 >k 的标号在分配标号后相对顺序不能改变,但是 1,2,⋯,k 这些标号的相对顺序可以改变,所以需要乘一个 nk–– 来得到 k 棵有标号有根树个数。
反过来,连成 k 棵有标号有根数的方案数除掉 nk–– 即为原问题所求。
所以把 n 个点连成有 k 棵树的森林,并且要求 1,2,⋯,k 这 k 个点两两不在同一棵树的方案数是 k⋅nn−k−1.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?