WC2019
好题啊!
数树
- \(\text{opt = 0, 6 pts.}\)
显然答案为 \(y^{n-|E_1∩E_2|}\) 。
- \(\text{opt = 1, 47 pts.}\)
\]
考虑该容斥式:\(f(S)=\sum\limits_{T\subset S}\sum\limits_{P\subset T}(-1)^{|T|-|P|}f(P)\) ,则:
\]
令 \(g(T)\) 表示包含 \(T\) 的 \(E_2\) 个数。
\]
\]
\]
\]
考虑一个定理:给定 \(n\) 个点的森林,有 \(k\) 个连通分量,第 \(i\) 个连通分量的大小为 \(a_i\) ,则由 \(\text{prufer}\) 序列得:生成树的个数为 \(n^{k-2}\prod\limits_{i=1}^{k}a_i\) 。
代回原式,记 \(k=n-|T|\) ,表示连通分量个数:
\]
\]
发现一个大小为 \(a_i\) 的连通分量对答案的贡献为 \(Ka_i\) ,其中 \(K=\frac{ny}{1-y}\) 为一个常量。
考虑贡献的组合意义,大小为 \(a_i\) 的连通分量贡献相当于在这个连通分量重选取一个点,产生 \(K\) 的乘积贡献。
据此,可进行 \(dp\) :\(\mathrm{f[u][0/1]}\) 表示在 \(u\) 的子树中,当前连通分量是否已经做出贡献的答案。这里为了方便转移,当前连通分量若已做出贡献,就计入答案。
int f[N][2], K;
void dfs(int u, int fa) {
f[u][0] = 1, f[u][1] = K;
for (auto v: adj[u]) {
if (v == fa) continue;
dfs(v, u);
f[u][1] = (1ll * f[u][0] * f[v][1] + 1ll * f[u][1] * f[v][0] + 1ll * f[u][1] * f[v][1]) % mod;
f[u][0] = (1ll * f[u][0] * f[v][0] + 1ll * f[u][0] * f[v][1]) % mod;
}
}
- \(\text{opt = 2, 47 pts.}\)
\]
\]
这一段类似 \(\text{opt = 2}\) ,直接快进:
\]
}^{k}a_i^2\]
\]
换个角度考虑,每个连通分量是无序的,相当于有 \(n\) 个有标号小球扔进 \(k\) 个无标号盒子,盒子不为空。
对于一个装有 \(a\) 个球的盒子,一个生成树对其贡献为 \(\frac{n^2y}{1-y}a^2\) 作为乘积,有 \(a^{a-2}\) 个生成树,因此总乘积贡献为 \(\frac{n^2y}{1-y}a^a\) 。
显然,总方案的 \(EGF\) 等于 \(exp\) 单个盒子的 \(EGF\) ,即:
\]
\]
答案即为:
\]
套多项式 \(exp\) 即可。
时间复杂度 \(O(nlogn)\) 。
最新文章
- html5上传图片(二)一解决部分手机拍照上传图片转向问题
- 【原创】Silverlight DataGrid对核心控件DataGrid的任意单元格进行获取和设置分析。
- 创意十足的web布局及交互设计
- MVC中的成员资格,授权,安全性
- android中AVD的使用
- Mycat配置文件rule.xml
- JS回车键处理
- TFS2012常见问题及解答
- ipconfig命令
- JQ插件之imgAreaSelect实现对图片的在线截图功能(java版)
- Ugly Number,Ugly Number II,Super Ugly Number
- N维法向量与N维超平面的关系的简单证明(日志二)
- SLF4J源码解析-LoggerFactory(一)
- 利用layer实现MVC页面数据互交提示弹框
- JSP中的“小饼干”Cookie,用来存储数组的方式(下方已String类型的数组为例:)
- 结合Socket实现DDoS攻击
- Python开发【第一篇】基础题目二
- 2018-2019-2 20175218 实验一《Java开发环境的熟悉》实验报告
- openssl dhparam(密钥交换)
- vue-cli: render:h =>; h(App)是什么意思
热门文章
- pdm的说明
- iOS开发 将html 富文本文字 转换成oc 的富文本
- SpringMVC-拦截器快速入门
- 使用 Jenkins 进行持续集成与发布流程图
- oracle system,sys用户 忘记密码,怎么修改密码
- Android第十一、十二周作业
- CentOS8 AnolisOS8 yum安装 No match for argument: htop Error: Unable to find a match: htop
- 接口测试实战| GET/POST 请求区别详解
- python数据处理-matplotlib入门(2)-利用随机函数生成变化图形2
- Bugku CTF练习题---加密---凯撒部长的奖励