乱七八糟的笔记......(更新中)

本文涵盖图论核心概念如二分图匹配、有向图路径覆盖及博弈论中的经典问题如Nim游戏变种。解析了不同类型的图结构特性及其在实际问题中的应用,并深入探讨了多种博弈策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有向图最小路径覆盖,二分图最小点覆盖,二分图最大独立集,二分图最大团,最小路径覆盖,最长反链
  1. 二分图最大独立集
    定义:选最多的点,使得两两之间没有边相连。
    结论:二分图最大独立集=|V|-最大匹配

  2. 二分图最小点覆盖
    定义:选最少的点,使得每条边都至少有一个点被选。
    结论:二分图最小点覆盖=|V|-最大独立集=最大匹配

  3. 二分图最大团
    定义:一个点集,两两有边直接相连。
    结论:二分图最大团=补图的最大独立集的顶点数

  4. 有向图最小路径覆盖
    定义:求出最少的路径使每个点恰好被覆盖一次
    结论:有向图最小路径覆盖= |V|-最大匹配
    构造二分图方法:先把每个点拆成 pi p′′i 。对于一条路径 i,j ,由 pi p′′j 连一条边。

  5. 最小链覆盖
    定义:求出最少的链使每个点至少被覆盖一次。
    结论:最小链覆盖 = |V|-最大流
    构造图方法一:先把每个点拆成 pi p′′i 对于一条路径 i,j ,由 pi p′′j p′′i p′′j 分别连一条流量为 的边。 S pi连流量为 1 p′′i T 流量为1的边。
    构造图方法二:把路径关系传递闭包后就等价于最小路径覆盖问题。

  6. 最长反链
    定义:一个最大的点集,这个集合中任意两点不能互达
    结论:最长反链=最小链覆盖
    覆盖的点集:转化成最小路径覆盖问题后假如 pi p′′i 不同时与S或T联通,则点 i 在最长反链覆盖的点集中。

生成树计数

  1. prufer定理
    任意一棵有标号的n个节点无根树都能用一个长度为n-2的序列表示,并且一一对应。
    定义无根树中度数为1的节点是叶子节点。

    树转prufer序列:找到编号最小的叶子并删除,序列中添加与之相连的节点编号,重复执行直到只剩下2个节点。
    prufer序列转树:设点集V={1,2,3,…,n},每次取出prufer序列中最前面的元素u,在V中找到编号最小的没有在prufer序列中出现的元素v,给u,v连边然后分别删除,最后在V中剩下两个节点,给它们连边。

    性质:prufer序列中某个编号出现的次数就等于这个编号的节点在无根树中的度数-1。

  2. 矩阵树定理
    设一个图G的邻接矩阵为 A ,度数矩阵为D,那么定义它的基尔霍夫矩阵 C=DA
    这个图所能构出的生成树个数就是 C 的任意一个n1介余子式。即去掉任意一行一列后的矩阵行列式。

    行列式:对矩阵高斯消元后对角线上的数相乘,在高斯消元的过程中,每对两行进行交换都对最后的最后的乘积乘-1。

    生成树权值乘积的和,把邻接矩阵中填上每条边的权值再求余子式即可,

最小割与网络流相关
  1. 判断一条边是否在当前的最小割中:判断这条边的两个端点,是否一个在残量网络中与S联通,一个与T联通。

  2. 判断一条边是否可能在最小割中:等价于在残量网络中判断它连接的两个点是否在同一个强连通分量中。

  3. 判断一条边是否必定在最小割中:等价于在残量网络中判断s和u,v和t是在同一个强连通分量。(当然也要满足可能出现在最小割中的条件)

  4. 判断一条边在网络流中是否一定满流:等价于在残量网络中判断u和v是否在同一个强连通分量当中,如果不是则一定满流。

图论相关结论
  1. 枚举一个点比它度数大且相邻的点的复杂度是 O(|E|)
竞赛图
  1. 强连通竞赛图必然存在哈密顿回路。

  2. 竞赛图按强连通分量缩点之后是一条链。

线性基,高斯消元相关结论
  1. 极大线性无关组:贪心的从大到小加入到线性基中。

  2. 线性基的删除:找到包含删除向量的,在线性基中的0向量(线性基中的每个向量再用一个状态表示是由哪些向量异或来的),如果没有就找最高位最小的一个向量,然后把其他所有向量异或上这个向量,最后把这个向量删除。

博弈
  1. anti-sg
    定义:最后一个执行决策的人输。
    结论:先手必胜当且仅当满足一下条件中的一个:
    1. 游戏的sg函数不为0且游戏中某个单一游戏的sg函数大于1。
    2. 游戏的sg函数为0且游戏中没有单一游戏的sg函数大于1。
  2. nimk
    定义:每次可以操作k堆石子的nim游戏。
    结论:先把每堆石子看作二进制,判断每一位上为1的石子堆数是否可以被(k+1)整除,如果可以,先手必败,否则先手必胜。

  3. bash
    定义:有一堆个数为n的小石子,两个人轮流从堆里取石子,每次取石子的个数>=1,小于等于m,最后取光者得胜。
    结论:若n % (m + 1) = 0,后手必胜,否则先手必胜。

  4. wythoff
    定义:有两堆小石子,两个人轮流从某一堆里取石子或从两堆中取相同的石子,每次取石子的个数>=1,最后取光者得胜。
    结论:设式子数量分别是a,b。当 a=(ba)(1+5)2 时先手必败,否则先手必胜。

  5. 树的删边
    定义:在一棵有根树上,两个人轮流操作,每个人可以删掉一颗子树,谁无法操作就算输。
    结论:叶子节点的sg函数为0,其余节点的sg值为它所有子节点的sg值加1后的异或和。

其他
  1. 对于一个排列,交换任意两个数,逆序对改变的个数肯定是奇数。
数论

  1. i1n1i2n2...imnmd(i1i2...im)=i1n1i2n2...imnmn1i1n2i2...nmim(i1...im)
    其中 d(n) 表示 n 的因子的个数。

2.

lcm(x1,x2,...xn)=0k<n0y0<y1<...<yk<ngcd(xy0,xy1,...,xyk)(1)k

数论中化简的一些套路

  1. i=1nj=1m[gcd(i,j)=1]=i=1nj=1mk|i,k|jμ(k)

  2. i=1ni=i=1nd|iφ(d)=d=1nφ(d)nd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值