专栏文章
有度数限制的最小生成树
算法·理论参与者 9已保存评论 8
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mibysept
- 此快照首次捕获于
- 2025/11/24 01:00 3 个月前
- 此快照最后确认于
- 2025/12/01 19:31 3 个月前
以下所有令有度数限制的点为 ,常数为 。
例 1 P5633(某一点度数恰好为一个常数)
考虑把 从做法中独立出来,即建立一个以 为根的生成树。
如果某一个非 的点与 间有直接连边,则它可以构成 的一度,规定点权就是这条边的边权,如果没有直接连边点权为正无穷。
显然最后只能选 个点权非正无穷的点当做 的直接孩子。
显然最后只能选 个点权非正无穷的点当做 的直接孩子。
先对非 点求最小生成树(森林),组成答案的边也一定在最小生成树(森林)上,显然每一棵生成树中一定有一个点权非正无穷的,我们令点权最小的点为树根。
如果此时森林中树的个数大于 ,则一定不可能存在答案。
因为此时我们需要增加树的个数,所以一定要破坏原有最小生成树(森林)。
如果此时森林中树的个数大于 ,则一定不可能存在答案。
因为此时我们需要增加树的个数,所以一定要破坏原有最小生成树(森林)。
考虑加点的代价,即为 ,注意能加树的当且仅当 不为正无穷。
所以排序做一下即可。
例 2 P5633(某一点度数小于等于一个常数)
与例 1 基本相同。
这里不必须加点,但是 不一定为正,所以还需要加点求最小。
更深的思考
如果有多个点有度数限制,能不能有可靠解法?如果生成树是 叉树,有没有非 NP-Hard 解法?
希望读者能够思考出这些问题,并拿到图灵奖!
相关推荐
评论
共 8 条评论,欢迎与作者交流。
正在加载评论...