文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

みんなのプロコン2019 予選 感想

atcoder.jp


みんなのプロコン2019の予選に参加しました。


結果はABC3完、順位は1497/2820位でした。


f:id:YukiMoto:20190209234453j:plain



A - Anti-Adjacency

提出:https://yahoo-procon2019-qual.contest.atcoder.jp/submissions/4206624


nが偶数ならn/2とkを、nが奇数ならn/2+1とkを比較して、n/2とn/2+1のそれぞれがk以上であればYES、k未満ならNOを出力しています。



B - Path

提出:https://yahoo-procon2019-qual.contest.atcoder.jp/submissions/4210838


問題文を見た瞬間に気を失いそうになりました。これはグラフの問題ではないか。連結、最短経路、union-find。今や昔、理解することを諦めてしまった単語たちがにわかに頭の中で泳ぎだします。そのせいで難しく考えすぎてしまい、気が付いたころには20分以上経過した時計と、懸命にグラフの探索をしようとした痕跡、すなわち未完成の人工生命体を想起させるおぞましいコードが手元にありました。


これではいかん、とまとわりつく邪念を振り払い、どうにかもっと問題を単純化できないか、あわよくばグラフの解法から脱せないだろうか、そもそも200点問題なのだからグラフの解法を要求されるはずはないのだ、と考えているうちに、ふと、入力で与えられる6個の数字の内訳が「1回だけ登場する数字が2種類」「2回登場する数字が2種類」になっているとき、問題文の条件を満たすのではないか、こう発想しました。そしてそのまま提出したら通りました。



C - When I hit my pocket...

提出:https://yahoo-procon2019-qual.contest.atcoder.jp/submissions/4213191


別個に記事を作ります。B問題の迷走ぶりに比べれば、スムーズに解けたのではないかと思います。



総括

D~F問題は解けそうになかったので手を付けませんでした。感想としては、B問題がとにかくひどかったです。最初からグラフの解法を度外視していれば、もう10分は縮まったと思います。