「典型問題」という言葉。競技プログラミングにおいて、皆さん絶対聞いたことがある単語だと思います。少し長くやっている人であれば「典型とか言われているけど全然わからない」みたいなことも、よくあるんじゃないでしょうか? そこで、今回は、「典型問題って何なのか?」みたいな話を、ちょっとしっかり書いていこうかな、と思います。 誰もが「典型問題」と疑わない問題について 例えば、こんな問題が出たら、誰もが「典型問題」という言うでしょう。 N個の地点があり、M本の道路で結ばれている。各道路には、反対側の地点に行くためにかかる時間が与えられている。 A地点からB地点に行くまでの時間を出力しなさい。 これは、最短経路問題そのままですし、ダイクストラ法などのアルゴリズムをそのまま適用して解くことのできる問題です。これが、一番分かりやすい典型問題です。 まとめ:「名前をついているアルゴリズムをそのまま実装」が、一