srm427
とってもひどかった時のsrm日記。
div1:250
今回もなかなか読めなくて、要するに(yearLength % dayLength) * x = dayLength *
yとなるような最小のxを求めれば良いんだろーと思ってlcm(yearLength % dayLength, dayLength) / (yearLength % dayLength)って書いて提出したらyearLength == dayLengthの時の0割りエラーとlcm内部でのオーバーフローで死亡してた。
failed system test
div1:600
digの値を調べてみるとなんとなくdig(x * a) = dig(dig(x) * dig(a))っぽい事が分かった(気がした)ので、dig(multi ^ n)をanと置くとan+1 = dig(an * dig(multi))になってごにょごにょするのかな〜Kがでかい数列だからlogn累乗か〜と思ってやってたけど全然違ったという。こういうアドホックな問題はパニックになっちゃうな〜
opened
div1:900
今回も見ず。
challenge
600のfor(int i = 0; i < K; ++i)を見て特攻して-25w内部でループを検出して抜けるというロジックが入っていたらしい。他にも同じ部屋の人が何人か釣られてた。
トータル-25で200近くレーティングが下がってとても悲しいです。色が変わらなかったのだけが救い。探索どこ〜DPどこ〜
(11/28追記)今更ながら600をやってみたけど、ループ長Lを最初に求めてlcm(L, 4)回シミュレートしてから最後にK % lcm(L, 4)回シミュレートするだけだった。ループするという仮定があればの話だけど、これは解かないとまずいな〜