2021年3月3日水曜日

Educational Codeforces Round 105 (Rated for Div. 2)

  Cまで三完。Dが解けなかったのは、Cで苦戦して集中力が落ちていたせいかも。


D. Dogeforces

 ちょっと分かりにくいけれど、難しい問題ではなかった。

 小さい給料の人から順に木を作っていく。(与えられた表をx:給料、i,j:人として(x, i, j)のリストとみて、xでソートする)
 その際、最下層の人それぞれについて、「現在の木に関して、自分の一番上の上司は誰か」が分かるようにしておく。(Union-hindの要領で、再帰を使って書ける)
 すると、新たな給料xと人i, jを見る際、「iに関する一番上の上司もしくはjに関する一番上の上司」の給料がxであれば、新しいノードを作らないようにすれば良い。(そうでなければ、新しいノードを作り、その人を「i, jの一番上の上司」の上司にする)

 うーん、本番中は、(clarが来てたけど)解の存在とかが気になって思考が疎かになっていた気がする。特に発想もいらないし、できなきゃいけない問題でしたね。

E. A-Z Graph

 解説AC。
 解説を読んだらギャグだった……。

・頂点u, vの間に双方向のpathがあればkが奇数のときは条件を満たす
・さらに、そのラベルが一致していれば、kが偶数のときも条件を満たす

 となる。どちらも、u, vを行ったり来たりするpathを考えれば良い。

 ギャグだけど、最も単純なパスを考えれば答えに辿り着ける、という意味では教育的かも?






0 件のコメント:

コメントを投稿