当前位置: 首页 > news >正文

图上状压 DP

容易发现每年都在考这玩意。每年都不会。

AT_abc213_g [ABC213G] Connectivity 2

显然删边可以变成保留边。

定义状态函数 \(f_s\) 表示保留边,使得 \(s\) 中的点联通的方案数。那么对于 \(k=k0\) 来说,答案应该就是 \(\sum f_{s}[1 \in s \land k \in s]\times g_{U /s}\)。其中 \(g_s\) 为在任意保留 \((u,v) [u \in s \land v \in s]\) 中的边的方案数。

\(g_s\) 是好求的。时间复杂度 \(O(2^n n^2)\)

\(f_s\) 有:\(f_s=\sum\limits_{\min(s') \subseteq t \subseteq s'}^{} f_{t}\times f_{s/t} \times h(s,t)\)。其中 \(h(s,t)\) 为至少保留一条 \((u,v) [u \in s \land v\in t]\) 的方案数。

这里以 \(\operatorname{lowbit}(s)\) 作为 \(s\) 的代表元,有 \(\min(s)=\operatorname{lowbit}(s)\)。代表元的作用是为了不让相同集合被计算多次,需要满足同种局面代表元唯一。

\(h(s,t)=2^{e(s|t)-e(s)-e(t)}-1\)。时间复杂度 \(O(3^n)\)

发现对于 \((1,2),(2,3),(1,3)\) 会算重。

原因是这个代表元并不能唯一表示局面。在 \(s=\{1,2,3\}\) 时,可以 \(\{1\},\{2,3\}\),也可以 \(\{1,2\},\{3\}\)。如何?考虑容斥。因为在钦定一个集合 \(t\) 联通时,就可以统一了。因为 \(s\) 在不联通的时候一定由:\(t_1,t_2,\dots ,t_m\) 合起来。那么枚举包含 \(\min(s)\) 的集合,其它的就可以通过 \(2^{e(s/t)}\) 求得。

转移方程:\(f_s=2^{e(s)}-\sum\limits_{\min(s)\subseteq t \subset s}^{} f_t\times 2^{e(s/t)}\)。时间复杂度 \(O(3^n)\)

http://www.jsqmd.com/news/31487/

相关文章:

  • k8s删除Terminating状态的命名空间
  • 【实用脚本】一键安装Oracle19c数据库
  • 程序员必逛的9个开发者社区推荐
  • CleanMyMac X 4.14.2 dmg 安装教程|Mac 清理软件详细安装步骤
  • java-迭代器
  • 优化算法三剑客:SGD、Adam、AdamW的深度对比
  • 某大厂跳动面试:计算机网络相关问题解析与总结 - 教程
  • 动手动脑5
  • AI元人文:悟空机制与反思——论智能文明的自我超越之道
  • 从零开始搭建你的 Hexo 静态博客(支持 macOS 与 Windows)
  • cmake也是个恶大的玩意
  • 实用指南:Python 运算符与列表(list)
  • 接口请求测试题目
  • iOS - 从 @property 开始
  • ESP32 中断
  • 25.11.4随笔联考总结
  • docker 常用命令本地部署打包
  • Linux中读写自旋锁rwlock的实现 - 详解
  • 用古代数论分析电磁波频谱
  • AddressSanitizer (ASan) is a fast memory error detector
  • 「CF1210F2-Marek and Matching (hard version)」题解
  • 详细介绍:【数据结构】考研算法精讲:分块查找的深度剖析 | 从“块内无序、块间有序”思想到ASL性能最优解
  • 通过发射高能电子束来控制宇宙射线
  • ICPC2025西安 游记(VP)
  • 2025年11月汽车水泵轴承源头厂家综合评测与选择指南:徐州优力同创领跑行业
  • 各种物质的在宇宙空间中的无线电频谱分析
  • PQ v.Next 团队项目Alpha阶段分工
  • Rari黑客事件全额赔偿方案详解
  • 2025年11月圆锥滚子轴承厂家权威排行:顶尖制造商徐州优力同创服务指南
  • TOON 格式终于赢了!AI 大模型基准测试揭示惊人真相