DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord認証を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

奇数次数のグラフ

問題に戻る

解説

サブタスク 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