AtCoder ABC213
ABC213参加しました。
A - Bitwise Exclusive Or
解説 - AtCoder Beginner Contest 213
公式解説動画だと逆元の理屈からちゃんと教えてくれています。やることはXORを取るだけ。
B - Booby Prize
解説 - AtCoder Beginner Contest 213
一度ソートするのが楽です。下から2番目のスコアを見つけ出して、ソート前の配列で何番目にあるかを見つけます。
C - Reorder Cards
解説 - AtCoder Beginner Contest 213
提出 #24907057 - AtCoder Beginner Contest 213
座標圧縮でググると解説はたくさんでてきます。
例えば
5 5 6 1 1 3 1 5 1 1 3 1 5 5 5
だと、以下のようになります
1 x 4 x 5 x x x x x 2 x x x x x x x x x 3 x x x 6
操作後は
1 4 5 2 x x 3 x 6
となります。
行について言えば、
一番上の行にあった数(1,4,5) => 0行目
2番目にあったもの(2) => 1行目
3番目にあったもの(3,6) => 2行目
に移るわけで、これは列についても同様。
つまり、
1. 行/列位置についてHashSetに蓄えておいて(これで重複を削除)
2. ソートし
3. 元の配列と対応付ける(2分探索)
ことで求められます。
D - Takahashi Tour
解説 - AtCoder Beginner Contest 213
提出 #24907510 - AtCoder Beginner Contest 213
経路としてはDFSでよくて(予め隣接頂点をソートしておく必要あり)
加えて通りがけ、行きがけ順をメモしておきます。
つまり、ちょっとでも頂点を辿ったらメモする必要があります。
まとめ
8問制になってから、教育的な問題が増えた気がします。