ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CF848D口胡

2022-09-14 12:04:22  阅读:301  来源: 互联网

标签:frac CF848D sum 所有 times max 复杂度


考虑如果边 \((u,w),(w,v)\) 是从 \((u,v)\) 分裂出来的,那么 \((u,v)\) 这条边有一个儿子,儿子是一个二元组为 \(((u,w),(w,v))\)。

容易发现所有本质不同的分裂方案对应所有本质不同的树。

考虑最小割对应什么。对于一个根节点,必须将所有儿子都割完之后才能割掉自己,所以有一个类似:

\[f[n][m]=\sum_{\sum(a_i+b_i+1)=n,\sum(\max(x_i,y_i))=m}f[a_i][x_i]\times f[b_i][y_i] \]

的东西。

实际上这样还是有可能会算重。设:

\[g[n][m]=(\sum_{a+b+1=n,\max(x,y)=m}f[a][x]\times f[b][y]-\sum f[\frac{n-1}{2}][m])\div 2 \]

来进行辅助计算。

容易发现 \(g[n][m]\) 对应的任意二元组形态都不同。

先考虑用相同的 \(g[n][m]\) 填充一个集合,然后用所有的集合去填充 \(f\)。

设 \(G[n][m]\) 表示所有二元组都是 \(g[n][m]\) 集合中的元素,容易知道这个方案数是:

\[G[n][m]=\sum[x^i](\frac{1-x^{i+1}}{1-x})^{g[n][m]}=\sum\binom{i+g[n][m]-1}{i}x^{in}y^{im} \]

然后把 \(G\) 卷起来就能得到 \(f\) 了。

复杂度相当于做一个二维半在线卷积,复杂度 \(O(n^2m^2)\) 可以通过。

标签:frac,CF848D,sum,所有,times,max,复杂度
来源: https://www.cnblogs.com/lmpp/p/16692529.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有