[ABC345F] Many Lamps 题解

题意:给定一个 \(n\) 个点 \(m\) 条边的无向图,每个点的初始颜色为 \(0\)。一次操作是将一条边的两个端点的颜色翻转。求是否能通过若干次操作使得最终有 \(k\) 个颜色为 \(1\) 的点。

首先考虑什么情况下无解。会发现每一次操作,颜色为 \(1\) 的点的数量变化一定是 \([0,+2,-2]\) 中的一种,所以任何时候都一定是偶数。于是当 \(k\) 为奇数的时候,一定无解。

对于 \(k\) 不是奇数的情况,我们对于一个连通块进行考虑(可能有多个连通块,将贡献相加即可)。假设这个连通块有 \(x\) 个点,我们先求出这个连通块的一颗生成树,那么有一个结论:一定有一种操作方式使得这颗生成树中最终有 \(\lfloor \frac{x}{2} \rfloor \times 2\) 个颜色为 \(1\) 的点。因为对于树上的一个点 \(u\),假设它下面的点的颜色已经全部为 \(1\) 了,那么一定通过控制 \(u \to fa_u\) 这条边的操作与否使得 \(u\) 这个点变为 \(1\),所以除了根节点之外的所有点都一定能变为 \(1\)。而根节点能否变为 \(1\) 取决于 \(x\) 的奇偶性。

所以如果 \(\sum \lfloor \frac{x}{2} \rfloor \times 2 \ge k\) 的话,最终有解。对于每一个连通块可以通过一次 \(\text{dfs}\) 遍历得到具体的方案。否则无解。

posted @ 2024-03-19 19:54  Creeper_l  阅读(29)  评论(0编辑  收藏  举报
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 世间美好与你环环相扣 柏松
  3. 3 True love tired
  4. 4 一笑江湖 (DJ弹鼓版) 闻人听書_
  5. 5 最好的安排 曲婉婷
  6. 6 星星在唱歌 司南
  7. 7 山川 李荣浩
  8. 8 On My Way Alan Walker
  9. 9 百战成诗 王者荣耀·100英雄官方群像献礼歌
  10. 10 雪 Distance Capper / 罗言
  11. 11 Edamame bbno$ / Rich Brian
  12. 12 半生雪 七叔-叶泽浩
  13. 13 Catch My Breath Kelly Clarkson
  14. 14 Love Is Gone SLANDER / Dylan Matthew
  15. 15 Endless Summer Alan Walker / Zak Abel
  16. 16 悬溺 葛东琪
  17. 17 风吹丹顶鹤 葛东琪
  18. 18 Normal No More TYSM
  19. 19 哪里都是你 队长
  20. 20 Stronger Kelly Clarkson
  21. 21 廖俊涛
  22. 22 消愁 毛不易
  23. 23 The Runner Yubik
  24. 24 踏山河 七叔-叶泽浩
  25. 25 Waiting For Love Avicii
  26. 26 在你的身边 盛哲
  27. 27 Dream It Possible Delacey
  28. 28 凄美地 郭顶
  29. 29 满天星辰不及你 ycc
  30. 30 侧脸 于果
  31. 31 阿拉斯加海湾 蓝心羽
  32. 32 虞兮叹 闻人听書_
  33. 33 离别开出花 就是南方凯
  34. 34 盗墓笔记·十年人间 李常超 (Lao乾妈)
雪 Distance - Capper / 罗言
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.