一、强联通分量

  • 点互相可达的子图

二、Tarjan算法

  • dfn[x]:时间戳,代表x是第几个被访问的点
  • low[x]:代表x最多只经过一条非树边,能到达的点中,dfn的最小值(能到达的最浅点)
  • (此处应有图例)
  • 用途:缩点(缩点后为DAG)

三、双联通分量

  • vDCC:点双联通分量
  • eDCC:边双联通分量

四、二分图匹配:

  • 性质:
    • 二分图最小点覆盖 == 二分图最大匹配
    • 二分图最大点独立集 = 总点数 - 二分图最大匹配

五、2-SAT

六、网络流

  • Dinic、ISAP算法等

七、最小割

  • 定义:图中所有割中,边权值和最小的割(经典模型:二分图最小点权覆盖)
  • 对于任意最大流,其值等于最小割.
  • 例题:Dining 吃饭 [Usaco 2007 Open]

八、最大点权独立集(基于二分图)

  • 思路:先加权,后减去最大流.

九、费用流

  • 常用方法:拆点

十、非负最大流