P8867 NOIP2022 建造军营

本文详细解析了P8867 NOIP2022建造军营问题的解决方案,从35、45到100分的思路,涉及图的联通性、边双缩点、树形DP等概念,提供了一种避免状态冗余的状态转移策略,最后给出线性时间复杂度的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

P8867 NOIP2022 建造军营 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

给定一个无向联通图 \(G = (V', E')\),求有多少个二元组 \((V, E)\),满足:

  • \(V \subseteq V'\)\(E \subseteq E'\)\(V \ne \varnothing\)
  • \(G\) 上,断开 \(E’ - E\) 中任意一条边后,都有 \(V\) 中所有点在 \(G\) 上仍然联通。

35 pts

枚举 \(2^n - 1\)\(V\) 的情况,再用 \(m(n +m)\) 的复杂度暴力检验将每条边断开后 \(V\) 是否仍然联通,记录【断开该边后 \(V\) 仍然可以联通】的边数 \(M\),答案累加 \(2^{M}\) 即可。

时间复杂度 \(\Theta(m(n+m)2^n)\),期望可以通过前 \(7\) 个数据点(没有实测)。

45 pts

考虑开特殊性质 \(\mathrm{A}\),也就是给定的图是一条链。

我们考虑当 \(V\) 最左面的点为 \(l\),最右面的点为 \(r\) 时,有多少种二元组。

\(l = r\),也就是 \(V\) 中只有一个元素 \(l\) 时,所有边都可以随便选,可以有 \(2^{n-1}\) 种取法。这一部分的答案是 \(n \times 2^{n-1}\)

\(l \ne r\) 时,中间的 \(r-l\) 条边必须选入 \(E\),而两头的边都可以随便选取。此时 \(V\)\(2^{r - l - 1}\) 种取法,\(E\)\(2^{n-1-(r-l)}\) 种取法,惊喜发现这一部分答案就是 \(2^{n-2}\),和 \(l\)\(r\) 无关。

\(l\)\(r\) 的取法为 \(\dbinom{n}{2} = \

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值