440.1

中学生からやり直せ、といわれた感じ。二次方程式が解けなかった。

250

下方向の速度だけ保存する状況で坂を下るボールがある。(なぜか横方向は適当な速度が常に得られる。)坂を下り切るまでの時間と坂の形状が与えられるので、重力加速度を求めよ、という問題。


重力加速度でバイナリサーチ。坂の各フェーズを下るのにかかる時間を求めてやれば、全体の時間が分かる。下るのにかかる時間は、重力加速度が増えれば必ず短くなる。

500

ランダムウォークするものが、目的地に着くまでのステップ数の期待値を、すべての初期位置について平均して求めよ、という問題。


期待値が収束するまで回すありがちな問題。自分の期待値は隣接四マスから決定できて云々。解けないなこれ。

1000

2以上N以下の数のうちK個以下からなる集合について、要素の積がいかなる平方数でも割り切れないものの数を答えよ、という問題。


素数がいくつかあって、そのうちのいくつかをK個の素数から選択しましょう、的なコードを書けばいいんだと思う。2個以上の素数の積の数だけ先に計算してやれば(現実的な数の探索で終わる気がする)、後は使っていない素数からいくつか選ぶだけ。(コンビネーションは割り算するとうっとおしいのでパスカルの三角形か何かで作ればいいと思う。)