4完
各問題
A - Weak Beats
偶数番目に 1
がひとつでもあれば "No" でそうでない場合 "Yes" です。
B - Round-Robin Tournament
vector<pair<int, int>>
で、「勝ち数にマイナスをつけたもの、プレイヤーの番号」を管理して、昇順にソートすれば、勝ち数の降順 -> プレイヤーの番号の昇順に並びます。
C - World Tour Finals
各選手についてまだ解いていない問題を点数の高いほうから解いて何問解けば最高点を上回れるかどうかチェックします。
vector<pair<int, int>>
で、「問題の得点、問題の番号」を降順にソートすれば、どの問題から解くのが高いかわかるようになります。
D - Merge Slimes
スライムの数を二進表記すると、最終的にどのサイズのスライムが何匹いるかわかります。
例えばサイズXのスライムが4匹いる場合、100
なので 4X のスライムが1匹、7匹いる場合、111
なので Xが1、2Xが1、4Xが1という要領です。
これを小さいほうからやっていけばよいです。
E - Playlist
確率でDPをします。
自分は何通りあるかでDPしようとして爆死しました...。
まとめ
なんで確率DPに気づけないのか...。まあ D まですんなり解けて水パフォはキープできたのでよしとするか。