题意
给一张无向连通图, 每条边可能是黑边或白边, 问是否存在一种生成树构造使得树上黑边数量 = 白边数量 ?
$1\le n,m\le 100000$ .
分析
我们可以把 黑边 当做 权值为1的边 , 白边 当做 权值为0的边 .
这样如果存在一种生成树构造, 使得树上黑边数量 = 白边数量 , 意味着 $n$ 为奇数, 且生成树的边权之和为 $\frac{n-1}{2}$ .
问题转化为: 对于一张边权为 $0$ 或 $1$ 的无向连通图, 是否有一种生成树, 其边权之和恰好等于 $m$ .
我们不难发现, 边权之和一定不小于最小生成树的边权之和, 不大于最大生成树的边权之和. 而如果边权为 $0$ 或 $1$ , 我们考虑从最小生成树构造出最大生成树, 其间的连续变化也能构造出任意在最小生成树与最大生成树之间的所有边权之和.
所以有这样一个结论: 一张边权为 $0$ 或 $1$ 的无向连通图, 它能构造出来的边权之和在 最小生成树的边权之和 与 最大生成树的边权之和 之间, 且对于任意一种边权, 都能构造出来.
直接求出最小生成树和最大生成树, 然后判定.
Mashmokh's Designed Problem 01生成树
时间: 2024-10-10 01:48:15