3.2——..I

..I#

限时每日一题day8。想法太简单了,没做出来纯属自己无能,应该想得更深入一些的。。。

只需要保证这一条关键性质就行:对于任意两个相邻的圆,某一个半径减小,则另一个圆一定增大等长的长度。若能注意到传递性,很容易能想到 圆之间的相邻关系 可以等价于 无向图中两个点用一条无向边相连,因此构建无向图。

并且每个联通块是可以单独考虑的,因为半径增减并不要求是整数,因此只要两个联通块相互分离,总可以找到一个足够小的变长使其不相互影响。

结合上述的传递性,对每个联通块 \(dfs\) 一次即可,其中相邻的点用 \(0/1\) 打上不同的标记。若在 \(dfs\) 过程中出现 相邻点标记相同 的情况,则一定不可行;所有点都成功标记后,看 \(0/1\) 标记的数量是否不等即可。

code

posted @   jxs123  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示
主题色彩