369.1

何もなかった。昨日のメモ。

250

AとBからなる文字列にそれぞれが出現していい回数とそれぞれが連続して出現していい回数が与えられるので、その時に作れる文字列の最大長さを答えよという問題。


出現回数の少ない文字を1文字ずつ並べると、その文字の間に極力入れることができるので、(Bの回数+1)*(Aの続けていい回数)くらいAはおける。これに基づいて実装すればおしまい。intでやると溢れました...。

500

i番目の数とi+1番目の数との差の絶対値がi+2番目の要素となる無限数列について、指定された番目の値を答えよという問題。


値はlongの範囲なので間隔が均等なのでうまいこと割り算して加速するようにしないといけないようです。

1000

値がすべて異なるHeightMapがあるときに、その極小値の位置が与えられるので、それを満たすものは何通りあるか答えよという問題。


小さい値から順に埋めていくことを考える。N個置いた時に、次に置ける場所リストを与えると何通りになるか、というのをハッシュしておいて計算すればうまくいきそう。いつかちゃんとやる。