图计数 : 从入门到出门

引言#

学计数问题就像围城,城外的人不想进去,城里的人不想出来.

前前排提示#

本文不全是多项式和生成函数.

前排提示#

本文含有以下内容 :

  • 入 门 失 败

  • 由 难 到 难

  • 无 用 科 技

  • 快 速 退 役

  • 弱 智 讲 解

  • 不 想 证 明

  • 感 性 理 解

  • 丑 陋 LATEX

  • 强 行 加 \large

  • 微 小 下 标

  • 视 力 受 损

  • 边 学 边 写

  • 长 期 拖 更

  • 没 有 编 号

  • 例 题 丢 失

  • 不 放 代 码

  • 编 号 随 意

  • 不 如 去 学 二 分

  • 不 如 刷 几 道 题

请对以上内容感到不适者自行 Ctrl + W.

保证不出现以下内容 :

  • 排 版 壬 震 怒

  • 如 蜜 传 如 蜜

  • 新 华 大 辞 典

  • 贴 别 人 博 客

  • 入 门 即 入 土

保证对于博客中 100% 的和式,为有明确界限的和式.

保证对于博客中 100%LATEX , 其前后有空格.

附 : 博客中出现以及未来可能会出现的题目题单一份

前置知识#

咱也不知道.

目录#

慢慢整.

  • 引言

  • 前排提示

  • 目录

  • 约定与图论基础

  • 三元环计数

    1. 无向图三元环计数

    2. 有向图三元环计数

    3. 完全图三元环计数

    4. 竞赛图三元环计数

    5. 竞赛图三元环期望

  • Prufer 序列与 Caylay 定理

  • LGV 引理

  • 矩阵树定理

  • 二分图计数

    • sub1

    • sub2

    • sub3

  • 简单图计数

    1. 有标号简单图无向计数

    2. DAG 计数

  • 其他

    1. 二叉树计数

    2. 三叉树计数

  • 彩蛋 : 二分图最大匹配计数

约定与图论基础#

(Garph) : 定义由点集 V 与边集 E 组成的二元组叫做图,以下令 G<V,E> 表示一个点集为 V ,边集为 E 的图. 如无特殊说明,通常认为题目中的图具有 n 个点与 m 条边.

无向图(Undirected Graph) : 每条边不标定方向.

有向图(Directed Graph) : 每条边标定方向.

(Edge) : 一个有序或无序的二元组,例如一条从 u 连向 v 的边,记作 (u,v)

完全图(Complete Graph) : 对于一个图 G<V,E> ,若 u,vV(uv),(u,v),那么这是一个完全图. 有 n 个结点的完全图记为 Kn .

竞赛图(Tournament Graph) : 对于一个完全图,将其每条边标定一个方向就得到了竞赛图.

(Degree) : 与一个顶点 u 关联的边的条数称作该顶点的度. 记无向图一点 u 的度为 du. 记有向图一点 u 入度(positive deg)为 pdu,出度(negative deg)为 ndu.

三元环(Three-Vertex Cycle) : 一个三元环为由三个点 u,v,w 组成的无序三元组 <u,v,w> ,且满足 (u,v),(v,w),(w,u)E .两个三元环 G1,G2 不同当且仅当 uG1uG2 .

有向无环图 : 简称 DAG.

三元环计数#

主要内容 : 组合数学.

无向图三元环计数#

首先三元环并不能特别多,但是 O(n3) 的复杂度明显不是很好,此题正解为 O(mm) .

首先记录每个点的度,将每条边按照如下的方式重定向 :

对于一条边 (u,v) , 如果 :

  • du<dv 这条边从 v 连向 u.

  • du>dv 这条边从 u 连向 v.

  • du=dv 这时需要一个统一的连边标准,可以选择从编号大的连向编号小的.

以上这一步使得每个点出边总是 m 的水平.

然后枚举每个点 , 对于枚举到的一个点 u , (u,v)E , 将 v 打上标记 u ,对于 u 的出边集均执行这个操作后,再次枚举 v 且枚举 v 的出边,如果存在点 w 使得 w 的标记为 u ,那么就找到了一个三元环.

P6815 [PA2009]Cakes 统计一下即可,但是图很稠密,链前会被卡常 (悲),但是 std::vector 很快 (喜).

CF985G Team Players 比赛编号985

正难则反,容斥一下.

先把所有三元组分类计数 :

  • 全不合法,记为 x0

  • 至少一条边合法,记为 x1

  • 至少两条边合法,记为 x2

  • 至少三条边合法,记为 x3

最后记所有三元环为 xtot

那么就是求 x0 了.

容斥一下可知 : xtotx

P4619 [SDOI2018]旧试题

完全不可做的奇葩反演卡常题,但是这道题确实用了三元环计数.

下辈子补上.

有向图三元环计数#

按照上面的算法正常跑,在找到一个三元环时特判三边方向是否全部合法即可.

完全图三元环计数#

任意选三个点就是合法三元环.

三元环个数为 (n3) .

竞赛图三元环计数#

转化为求其补集 :

发现如果是一个完全图,其三元环个数为 (n3),考虑其中哪些是不合法的三元环即可.

三元环个数为 :

(n3)i=1n(ndi2)

竞赛图三元环期望#

给定点数 n , 与图中 m 条边的方向,求三元环期望个数.

依然补集转化 :

统计出入度,在上一题基础上再扣除一部分 :

indu 表示点 u 的入度.

outdu 表示点 u 的出度.

那么点 u 未标定边数量表示为 : udu=n1pdundu

三元环期望个数为 :

(n3)i=1n((ndi2)+ndiudi2+(udi2)4)

Prufer 序列与 Caylay 定理#

LGV 引理#

矩阵树定理#

Kirchhoff 矩阵树定理能够求解图的生成树计数问题.

二分图计数#

二分图的性质真是奇妙,性质就和竞赛图一样多.

建议翻到最后看看彩蛋.

sub1#

求有 n 个有标号结点,黑白染过色的二分图个数.

不同仅当颜色或者边不同.

首先枚举黑白个数然后枚举哪些边连上就行,因为只能黑连白.

个数为 :

i=0n(ni)2i(ni)

sub2#

求有 n 个有标号结点的联通的二分图个数.

考虑从上面拓展.因为这个图连通,那么只需指定任何一点的颜色即可确定其余所有点的颜色,那么一个连通块就是 2 种状态.

然后考虑枚举一下有多少个连通块然后每个连通块的染色方案,整一个 EGF.

F(x) 表示 sub1 的EGF,G(x) 表示 sub2 的EGF.

F(x)=n=0i=0n(ni)2i(ni)xnn!F(x)=n=02nGn(x)n!

然后因为 :

n=0cnxnn!=ecx

那么 :

F(x)=e2G(x)

那么多项式对数函数求 12lnF(x) 即可.

sub3#

求有 n 个有标号结点的二分图个数.

考虑

简单图计数#

有标号简单图无向计数#

首先考虑可行的所有边,显然,为 n(n1)2 条.

每条边都可以选或者不选,乘法原理可知,数量为 :

2n(n1)2

DAG 计数#

其他#

这一部分就是想到哪写到哪了.

二叉树计数#

n 个点的二叉树有几种形态.

著名的卡特兰数.

Cn=(2nn)n+1

证明 : 令 f(x) 表示 有 x 个点的二叉树的不同形态个数.

那么通过枚举根节点左右子树分别有多少个结点可得以下递推式 :

f(x)=i=0x1f(i)f(ni1)

做其 OGF 得到 :

F(x)=n=0f(n)xn

那么对于 F(x)F(x) , 其 xn 项的系数为 f(n+1), 那么对于 xF(x)F(x) , 其 xn 项的系数为 f(n) .

列出等式如下 :

xF(x)F(x)=F(x)

解方程求得 :

F(x)=114x2x

然后直接泰勒展开日过去得到通项.

没学过,换一个.

单独考虑 14x 这一部分,对其做广义二项式展开.

根据 :

(1+x)α=k=0(αk)xk

有 :

14x=(14x)12=k=0(12k)(4x)k=1+k=1(12)(12)(32)(32k2)k!(4x)k=1+k=1(1)n11×3×5×(2k3)2kk!(4x)k=12k=1(2k2)!k!(k1)!xk

然后代入原式 :

F(x)=n=0(2nn)n+1xn

即可得到通项.

三叉树计数#

希望 Last_Order 能看到这个.

n 个点的三叉树有几种形态.

OEIS链接

Tn=(3nn)2n+1

彩蛋 : 二分图最大匹配计数#

没有这种算法,这是一个 #PComplete 问题,乐.

也就是对于一个 P 类问题,如果从求解转化为求解的个数,那这就是一个 #P 问题(sharp - P problem).

众所周知网络流是 P 问题,于是二分图最大匹配自然也是.

posted @   AstatineAi  阅读(670)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示
主题色彩