Resolve 01 Solution

Solutions

T1 P6571 [BalticOI 2017] Political Development

看到数据范围,复杂度应该是 O(nk2k)。简化题面就是给一个图,满足对于任意点导出子图,存在一个节点的度数小于 k,求原图的最大团。最大团的算法,参考 OI Wiki,得到这是一个 NP 算法。说明这道题肯定有 Trick

首先,这道题没说 degi 的数据范围,所以猜到比 nk 小。那么,假设现在 degi10,我们思考一下解决方案。枚举每一个点,计算如果当前点被包含在团中,最大团的大小。那就假设节点 u 的邻居(即与 u 有连边的节点个数,不含自身)的个数为 xu。那复杂度可以推出是 O(xu2xu)

回到原题,在初始的图中,肯定有一个点的度数小于 k。(理由是显然的,degin×k 。那么,令 ps 为当前点集 s,其导出子图是否为完全子图。在计算过程中,枚举每一个点时,将与其连接的点的点集状压出来。考虑怎么转移,设当前这个点为 u,与其相连的点是 v (点集)。状态 s 就可以满足转移:p(s&v)|(2u)=ps

posted @   resolvecoder  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示