【题解】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\) 相连的边中没匹配的边的编号。