322.1

見覚えがあった...。

250

能力Pの人がK人いるグループがいくつか与えられる。ある仕事を複数の人でやるとき、一番能力の低い人と同じ能力でしか仕事ができなくなるとして、能力と人数の積の最大値を求めよ、という問題。


それぞれの能力について、その能力以上の人が何人いるか計算してやれば、その能力で抑えられたときの最大値が出てくる。

500

使って良いドミノが与えられるので、同じ数字どうしをくっつけて、全部のドミノがくっつくように並べる方法は何通りあるか答えよ、という問題。


結局同じ数字ごとにどういう結合をするか、という問題なので、たとえば2が4つあれば、ペアの作り方は3通りだし、6つあれば15通りだし、8つあれば105通りだし、という風にできるので、後は各数字について組み合わせを計算するだけ。

1000

二次元平面上にいくつかの初期位置で火が放たれる。火はその位置を中心に時刻Tで上下左右にTずつ広がった正方形状に広がっていく。火のない領域がK以上である最後の時刻を求めよ、という問題。


火の位置は高々50なので、上下左右の座標として可能なものは高々100個。なので100x100の領域に分割してやって、それぞれが火の正方形領域に含まれるかどうかを判定してやれば、火のない領域が分かり、面積も計算できる。火は単調に広がっていくので、バイナリサーチすれば、目的の時間は求まる。