335.1

ひっかけと親切が混在する不思議なセット。

250

階乗を拡張して、K刻みにした関数を考える。NとKが与えられるので、値を答えよ、という問題。


BigIntegerを使うだけ...。

550

移動にかかるコストが指定された盤面で、一ステップに費やすことができるコスト量が決まっているので、目的地への移動ステップ数の最小値を求めよ、という問題。


基本はBFSで各ステップで移動できる領域を広げていく。ただし、各ステップで移動できる先はダイクストラでやらないといけないので、やや面倒。計算量的にはゆとりが十分あるので、開始点を決めてその都度ダイクストラすれば間に合う。問題サイズが少し大きくなったら、同じステップで存在する可能性がある位置をすべて初期位置にまとめてダイクストラしてもいいのかも。

950

整数ベクトルが二つ与えられるので、前者と後者の全ペアについて、差分の二乗を考え、前者が大きければそのまま、後者が大きければ負号をつけたときの総和を答えよ、という問題。


ソートして、自分より大きいものと小さいものに分割して、二乗和と総和を管理しておく。後はまとめて計算するだけ。難易度逆かも?