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)\)。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)