414.1

落ち着いて英語を読んだら、いつもよりも500は速かった。250は平均並だったけれど、難易度からすると悪くはないかなぁ。

250

手続き場所が開いている時間が指定されるので、ある書類を提出したら次の書類をもらえるという状況で、最初の書類を書き始めた時間から全ての書類を提出し終わるまでにかかる時間の最小値を求めよ、という問題。


2回目以降は手続き場所が開いている最初の時間に提出することが最善。最初の提出をいつにすればいいかは1日の全ての時間を試せば良い。

500

N個の文字列から任意の先頭の文字を選択していって、結合する。この処理でできる文字列のうち、辞書順で最初のものを答えよ、という問題。


N個の文字をソートして、最初のものの先頭を取り除く、というのを延々と繰り返すのが基本。ただし、最後の方で微調整が必要。ソートアルゴリズムを、ある文字列の接頭辞がその文字列の後に来るように修正する必要がある。なので、文字列の最後にやたらと大きい文字を追加しておけば良い。

1000

ある点を中心に円運動する物体が、最初は同一直線上にある。一周にかかる時間が与えられるので、N個以上の物体が同一直線状に並ぶのは何回あるか答えよ、という問題。


単純にやると同時に複数の直線ができるケースでお亡くなりになります、というのをどうしましょうか、という問題みたい。それ以外はベン図の重なりとか旅人算とかで計算できるようになっている。