[ZR] 城市

source:zr 二十联测 day 15 C

题意

给定 n 个点 m 条边的图,求该图导出连通子图数量对 2 取模的结果。保证一条边两个端点编号差 13

n50

分析

原题相当于求连通块数量为 1 的导出子图的数量。

考虑利用模数为 2 的性质。

性质:答案等于 2f(S)mod42,其中 f(S) 表示导出子图 S 的连通块数量。

2f(S)mod4 的值仅在 f(S)=1 的情况下为 2,其他情况下都为 0。故 2f(S)mod4=2[f(S)=1],而 [f(S)=1] 就是答案。

题目转化为求 2f(S)mod4 的值。

2f(S) 寻找一个组合意义,相当于,对该导出子图染上黑白两种颜色的方案数。转化一下,就是给每个点染黑白两色,使得有边相连的两个点颜色相同。

同理,为 2f(S) 寻找一个组合意义,相当于,对整个图染上黑白两种颜色或者不染色(不染色表示不在子图中),使得有边相连的两个点颜色相同。

据此可以直接设计 fi,S 表示已经填了 1i 的点,后 13 个点的染色情况是 S。转移考虑 i 填什么颜色即可,合法性判断可以 O(1) 做到。于是时间复杂度 O(n313)

作者:dcytrl

出处:https://www.cnblogs.com/dcytrl/p/18535556

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   dcytrl  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示