【题解】CF1519E Off by One 最大边匹配、DFS树

题目链接

定义一个点 \((x,y)\) 的斜率为 \(\dfrac {y}{x}\) ,两个点可以被删除当且仅当两个点的斜率相同。

那么考虑将原来图中的每个点 \((x_i,y_i)\) 看成边,连接 \((x_i + 1,y_i)\)\((x_i,y_i+1)\) 的斜率两点,那么相当于求无向图 \(G\) 中的最大边匹配。

无向连通图 \(G=(V,E)\) 的最大边匹配大小为 \(\lfloor \dfrac{|E|}{2} \rfloor\)

对于最大边匹配的构造考虑的一个简单的情形是 \(G\) 是树的情况。

类似粉兔第一场模拟赛 \(B\) 每次考虑加叶子节点归纳构造,扩展到一般图的情况可以看成 \(DFS\) 树拆点拆出叶节点。

一个实现上的技巧是用 match[u] 表示当前与 \(u\) 相连的边中没匹配的边的编号。

代码记录

posted @ 2021-10-16 13:01  Themaxmaxmax  阅读(73)  评论(0编辑  收藏  举报