ABC344F 题解
关键性质:如果 \(u,v\) 连通,那么我们找出一条 \(u \to v\) 的简单路径并操作上面所有边,只有 \(u,v\) 的开关会更改。
我们可以得到两个推论:
- \(k\) 是奇数时无解。因为一次操作一定会改变两个点的开关。
- 可以达到的 \(\max k\) 是每个连通块大小 \(sz_i\) 除以 \(2\) 下取整的和,且任何小于 \(\max\) 的 \(k\) 都可以构造。
考虑对每个连通块建生成树,从中任取 \(\dfrac{sz_i}{2}\) 对 \((u_i,v_i)\)(如果到 \(k\) 个点了就停止)并改变路径上的边,可以树上差分完成。
复杂度 \(\mathcal O(n+m)\)。