T207127 ++ 题解
++
题目背景
题目描述
给定一个
个节点(编号为 到 )和 条边构成的无向连通图。 构造一张新图:
- 新图的点集与原图相同
- 在新图中
之间有无向边 是 在原图中 的充分必要条件 ( 为给定常量, 表示编号为 的点到编号为 的点最短路的长度) 判断新图是否为二分图,若新图为二分图,输出"Yes",否则输出"Baka Chino"。
输入格式
第一行包含一个正整数
,表示有 组数据。
对于每组数据第一行包含两个正整数。接下来 行,每行包含三个正整数 表示编号为 的点到编号为 的点有一条边权为 的无向边。
输入数据保证合法。输出格式
对于每一组数据包含一行,如果“有解”输出
Yes
,否则输出Baka Chino
。样例 #1
样例输入 #1
5 5 2 1 2 1 2 3 1 3 4 1 4 5 1 5 3 1 2 1 2 3 1 3 4 1 4 5 1 5 8 1 3 3 1 2 1 2 4 6 2 5 2 5 2 1 3 3 1 2 1 2 4 6 2 5 2 7 4 1 2 3 1 3 3 2 5 3 2 6 3 3 7 3 2 4 2
样例输出 #1
Baka Chino Yes Yes Baka Chino Baka Chino
提示
样例解析
对于样例中的 第一组 数据:
原图:
新图:
新图不为二分图,故输出
Baka Chino
。对于 第三组 数据:
原图:
新图:
新图为二分图,故输出
Yes
。数据规模与约定
本题采用捆绑测试。
- Subtask 1(16 pts)
: 。 - Subtask 2(24 pts)
: 。 - Subtask 3(8 pts)
: 。 - Subtask 4(28 pts):图退化成一条链。
- Subtask 5(24 pts):无特殊限制。
对于
的数据, , , , 。 本题数据使用 CYaRon 生成。
- 首先判断是否为二分图的条件是判断其是否有奇环。而对于树上路径
的限制,我们先考虑找到他的最长路,再看他的某些性质。换言之就是树的直径 - 考虑如果树的直径
,则这个新图显然没有连边,答案显然为 YES ,因此不妨设直径长度 - 考虑对于一个点,如果他到的两个最远的节点,也就是直径的两个端点距离都
,那么显然出现了一个奇环,因此不满足条件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?