2022年11月1日火曜日

Codeforces Round #819 (Div. 1 + Div. 2) and Grimoire of Code Annual Contest 2022

 Cまで三完。約20分遅れで書き終ったEはコンテスト後、ACしました。その後、剽窃が発覚しunratedに。

コンテストへのリンク
コンテスト後のツイート


 D. Edge Split

 解説AC。
 これを飛ばす判断は間違ってなかったと思う。

 赤、青それぞれが連結な木になるよう色を塗れば良い、と思い、それをどう実装すれば良いか分からなかった。
 が、実際は連結性はいらなかった! 赤、青それぞれが森になっていればOK。

 実装はDFS木の性質を使うと良い。
 DFSで全域木をとって、残り三辺がサイクルになると困るが、DFS木の後退辺が親子関係にあるので、サイクルの一辺の色を変え、代わりに根へ付け替えれば良い。
 (という説明は、tatyamさんのツイートそのままです。これを思いつかないと実装で迷走しそう)

0 件のコメント:

コメントを投稿