370.1
リハビリ最初からやり直す必要ありそう...。
250
箱の中にいくつかの種類のものが入っている。K個取り出すとき、全部同じ種類のものを取り出す確率を求めよ、という問題。
それぞれについて何通りあるか求めて合計し、全体から選ぶ方法で割る。double精度で良いので厳密なことは考えない。
500
二地点間に中継地点がいくつかある。二地点間の中継地点を再配置して、隣接する地点間の距離の最大値をできるだけ小さくしたい。中継地点を移動する距離に比例するコストがかかり、整数座標での移動しかできない。最大コストとして許容される値が与えられるので、隣接する地点間の距離の最大値の最小値を答えよ、という問題。
二地点間の距離が十分小さいので、できるだけ小さい値から開始して、隣接する地点間の距離の最大値として可能な値かどうかを判定していき、うまくいった最初の値が答え、という方針で良い。判定については、K番目の中継地点を特定の位置に移動させるときに要したコスト(最小のコストを持つ方が良い?)でDPしてやる。移動させる際には、一つ前に移動させた地点からの距離が目的の値以内になるように注意するだけ。