摘要: 思路来源于 codeforces 简要题意: 给定 $n$ 个点 $n$ 条边的有向图,求最大匹配,在此基础上让异色匹配最大。 分析: 通过观察, $n$ 个点 $n$ 条边,所以必定是基环树森林。且一个点只有一个出度,所以肯定是内向树。(简要证明: 因为出度为 $1$,而一条链上的点方向相同。所以 阅读全文
posted @ 2023-08-22 10:56 Saka_Noa 阅读(13) 评论(0) 推荐(0)
摘要: 考虑设 $f,i,0/1,0/1$ 表示当前处理到第 $i$ 条边,开头是否填石头 ,末尾是否填石头的方案数, 则有$f_{i,0,0} = (f_{i-1,0,0} + f_{i-1,1,0} )\times C_{k}^{d-1}$$f_{i,1,0} = (f_{i-1,0,1} + f_{i 阅读全文
posted @ 2023-08-17 08:52 Saka_Noa 阅读(12) 评论(0) 推荐(0)
摘要: $For$ $Example$ $:$ bool DFS(int x) { for(register int u = first[x], v; u+1; u = e[u].nex) if(book[v=e[u].to]-id) { book[v] = id; if(!match[v] || DFS( 阅读全文
posted @ 2023-03-02 18:44 Saka_Noa 阅读(27) 评论(0) 推荐(0)
摘要: 割点判断 $low_v \ge dfn_u$ 割桥 $low_v > dfn_u$ 缩点/强连通分量,更新要判断点是否在栈中 点双,多看看。 求出所有的桥以后,把桥边删除,原图变成了多个连通块,则每个连通块就是一个边双连通分量。先用 Tarjan 算法标记处所有的桥边,再对整个无向图 DFS 一遍( 阅读全文
posted @ 2023-02-23 19:42 Saka_Noa 阅读(9) 评论(0) 推荐(0)