题解 CF1781G Diverse Coloring
题意
给定一棵
一种合法的染色方案满足:
- 对于所有黑色的点,都存在白色的点与之相邻。
- 对于所有白色的点,都存在黑色的点与之相邻。
一种染色方案的权值是染成黑色的点数与染成白色的点数之差的绝对值。
多组数据。
题解
显然答案有个下界是
观察样例,发现答案只有
发现可以把整棵树分成若干个连通块,每个连通块内只依赖自身就能保证合法。换言之,删掉该连通块对于剩下点的方案构造不影响。可以把整棵树划分为若干个大小为
对于一个非根节点,有以下四种情况:
-
该节点是叶节点,返回自身。
-
该节点的左右儿子仅有一个未被划分,用该节点和该儿子划分成一个大小为
的连通块。 -
该节点的左右儿子均未被划分,用该节点和其左右儿子划分成一个大小为
的连通块。 -
该节点的左右儿子均已被划分,返回自身。
我们定义黑点的权值为
对于根节点,可能会有一些边界问题,均可以通过调整法解决。懒得分类,当删点删到
令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话