DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

奇数度图

返回题目

题解

子任务 1:枚举 (N2)\binom{N}{2}(2N​) 条可能的边的所有子集,检查边数限制、连通性及奇数度顶点数。时间复杂度为 O(2(N2)N2)O(2^{\binom{N}{2}}N^2)O(2(2N​)N2),空间复杂度为 O(N2)O(N^2)O(N2)。

完整解法:所有顶点的度数之和等于边数的两倍,因此为偶数。故当 KKK 为奇数时无解。N=1N=1N=1 时必有 K=1K=1K=1,也包含在此情况中。

当 KKK 为偶数时,K≥2K\geq2K≥2。先将顶点 111 与顶点 2,3,…,K2,3,\ldots,K2,3,…,K 分别相连。顶点 11 的度数为奇数 ,其余 个顶点的度数均为 ,所以恰好有 个奇数度顶点。

从顶点 KKK 开始,将剩余顶点接成一条路径,即加入 (K,K+1),(K+1,K+2),…,(N−1,N)(K,K+1),(K+1,K+2),\ldots,(N-1,N)(K,K+1),(K+1,K+2。每加入一个新顶点,原路径端点的度数从 变成 ,新端点的度数为 ,因此奇数度顶点数不变。

最终得到无自环、无重边的连通树,边数为 (K−1)+(N−K)=N−1(K-1)+(N-K)=N-1(K−1)+(N−K)=N−1,满足输出限制。K=NK=NK= 时不添加路径边。

每个用例的时间复杂度为 O(N)O(N)O(N),除输出缓冲区外的额外空间复杂度为 O(1)O(1)O(1)。校验器用有序集合检查重边,用并查集检查连通性,时间复杂度为 O(N+Mlog⁡(M+1))O(N+M\log(M+1))O(N+Mlog(M+,空间复杂度为 。由于 ,所有运算均在 64 位有符号整数范围内。

Solution written by GPT

1
K−1K-1K−1
K−1K-1K−1
111
KKK
)
,
…
,
(
N
−
1,N)
111
222
111
N
1
))
O(N+M)O(N+M)O(N+M)
M≤2NM\leq2NM≤2N