图计数 : 从入门到出门
引言#
学计数问题就像围城,城外的人不想进去,城里的人不想出来.
前前排提示#
本文不全是多项式和生成函数.
前排提示#
本文含有以下内容 :
-
入 门 失 败
-
由 难 到 难
-
无 用 科 技
-
快 速 退 役
-
弱 智 讲 解
-
不 想 证 明
-
感 性 理 解
-
丑 陋
-
强 行 加 \large
-
微 小 下 标
-
视 力 受 损
-
边 学 边 写
-
长 期 拖 更
-
没 有 编 号
-
例 题 丢 失
-
不 放 代 码
-
编 号 随 意
-
不 如 去 学 二 分
-
不 如 刷 几 道 题
请对以上内容感到不适者自行 Ctrl + W
.
保证不出现以下内容 :
-
排 版 壬 震 怒
-
如 蜜 传 如 蜜
-
新 华 大 辞 典
-
贴 别 人 博 客
-
入 门 即 入 土
保证对于博客中 的和式,为有明确界限的和式.
保证对于博客中 的 , 其前后有空格.
前置知识#
咱也不知道.
目录#
慢慢整.
-
引言
-
前排提示
-
目录
-
约定与图论基础
-
三元环计数
-
无向图三元环计数
-
有向图三元环计数
-
完全图三元环计数
-
竞赛图三元环计数
-
竞赛图三元环期望
-
-
Prufer 序列与 Caylay 定理
-
LGV 引理
-
矩阵树定理
-
二分图计数
-
sub1
-
sub2
-
sub3
-
-
简单图计数
-
有标号简单图无向计数
-
DAG 计数
-
-
其他
-
二叉树计数
-
三叉树计数
-
-
彩蛋 : 二分图最大匹配计数
约定与图论基础#
图(Garph) : 定义由点集 与边集 组成的二元组叫做图,以下令 表示一个点集为 ,边集为 的图. 如无特殊说明,通常认为题目中的图具有 个点与 条边.
无向图(Undirected Graph) : 每条边不标定方向.
有向图(Directed Graph) : 每条边标定方向.
边(Edge) : 一个有序或无序的二元组,例如一条从 连向 的边,记作
完全图(Complete Graph) : 对于一个图 ,若 ,那么这是一个完全图. 有 个结点的完全图记为 .
竞赛图(Tournament Graph) : 对于一个完全图,将其每条边标定一个方向就得到了竞赛图.
度(Degree) : 与一个顶点 关联的边的条数称作该顶点的度. 记无向图一点 的度为 . 记有向图一点 入度(positive deg)为 ,出度(negative deg)为 .
三元环(Three-Vertex Cycle) : 一个三元环为由三个点 组成的无序三元组 ,且满足 .两个三元环 不同当且仅当 且 .
有向无环图 : 简称 DAG.
三元环计数#
主要内容 : 组合数学.
无向图三元环计数#
首先三元环并不能特别多,但是 的复杂度明显不是很好,此题正解为 .
首先记录每个点的度,将每条边按照如下的方式重定向 :
对于一条边 , 如果 :
-
这条边从 连向 .
-
这条边从 连向 .
-
这时需要一个统一的连边标准,可以选择从编号大的连向编号小的.
以上这一步使得每个点出边总是 的水平.
然后枚举每个点 , 对于枚举到的一个点 , , 将 打上标记 ,对于 的出边集均执行这个操作后,再次枚举 且枚举 的出边,如果存在点 使得 的标记为 ,那么就找到了一个三元环.
P6815 [PA2009]Cakes 统计一下即可,但是图很稠密,链前会被卡常 (悲),但是 std::vector
很快 (喜).
CF985G Team Players 比赛编号985
正难则反,容斥一下.
先把所有三元组分类计数 :
-
全不合法,记为
-
至少一条边合法,记为
-
至少两条边合法,记为
-
至少三条边合法,记为
最后记所有三元环为
那么就是求 了.
容斥一下可知 :
完全不可做的奇葩反演卡常题,但是这道题确实用了三元环计数.
下辈子补上.
有向图三元环计数#
按照上面的算法正常跑,在找到一个三元环时特判三边方向是否全部合法即可.
完全图三元环计数#
任意选三个点就是合法三元环.
三元环个数为 .
竞赛图三元环计数#
转化为求其补集 :
发现如果是一个完全图,其三元环个数为 ,考虑其中哪些是不合法的三元环即可.
三元环个数为 :
竞赛图三元环期望#
给定点数 , 与图中 条边的方向,求三元环期望个数.
依然补集转化 :
统计出入度,在上一题基础上再扣除一部分 :
令 表示点 的入度.
令 表示点 的出度.
那么点 未标定边数量表示为 :
三元环期望个数为 :
Prufer 序列与 Caylay 定理#
LGV 引理#
矩阵树定理#
Kirchhoff 矩阵树定理能够求解图的生成树计数问题.
二分图计数#
二分图的性质真是奇妙,性质就和竞赛图一样多.
建议翻到最后看看彩蛋.
sub1#
求有 个有标号结点,黑白染过色的二分图个数.
不同仅当颜色或者边不同.
首先枚举黑白个数然后枚举哪些边连上就行,因为只能黑连白.
个数为 :
sub2#
求有 个有标号结点的联通的二分图个数.
考虑从上面拓展.因为这个图连通,那么只需指定任何一点的颜色即可确定其余所有点的颜色,那么一个连通块就是 2 种状态.
然后考虑枚举一下有多少个连通块然后每个连通块的染色方案,整一个 EGF.
令 表示 sub1 的EGF, 表示 sub2 的EGF.
然后因为 :
那么 :
那么多项式对数函数求 即可.
sub3#
求有 个有标号结点的二分图个数.
考虑
简单图计数#
有标号简单图无向计数#
首先考虑可行的所有边,显然,为 条.
每条边都可以选或者不选,乘法原理可知,数量为 :
DAG 计数#
其他#
这一部分就是想到哪写到哪了.
二叉树计数#
求 个点的二叉树有几种形态.
著名的卡特兰数.
证明 : 令 表示 有 个点的二叉树的不同形态个数.
那么通过枚举根节点左右子树分别有多少个结点可得以下递推式 :
做其 得到 :
那么对于 , 其 项的系数为 , 那么对于 , 其 项的系数为 .
列出等式如下 :
解方程求得 :
然后直接泰勒展开日过去得到通项.
没学过,换一个.
单独考虑 这一部分,对其做广义二项式展开.
根据 :
有 :
然后代入原式 :
即可得到通项.
三叉树计数#
求 个点的三叉树有几种形态.
彩蛋 : 二分图最大匹配计数#
没有这种算法,这是一个 问题,乐.
也就是对于一个 类问题,如果从求解转化为求解的个数,那这就是一个 问题(sharp - P problem).
众所周知网络流是 问题,于是二分图最大匹配自然也是.
作者:AstatineAi
出处:https://www.cnblogs.com/AstatineAi/p/count-on-a-graph.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本