SRM528
翌朝も仕事だったけど構わず参加した今年最後のSRM。
- -
250. Cut
問題:決められた切断回数以内で10cmのうなぎをなるべくたくさん作る
- 最大で長さ10mのうなぎ…ごくり。
- とりあえず、長さが10の倍数のうなぎはお得
- (length/10-1)回の切断で、10cmのうなぎがlength/10個(?)得られる
- (length/10-1)回切断しないとお得にならない。
- なので、中でも短いうなぎほどお得度高い
- 長さが10の倍数のうなぎを短いものを最初に切断→他のうなぎを切断 でよさそう。
- さっくり書いてみたところ、既に提出してる人が何人かいてビビった。
- サンプルはソートしなくても全部通るっぽかったので、それだけテストして提出。
500. SPartition
問題:文字列sから2つの部分列を同一になるように取る取り方は何通り?
- サンプルの答えが2べきの数ばかりだったので、ちょっと反応した。
- が、すぐに答えが2べきの数じゃないケースを思いついたので忘れることに。
- よく見たら文字列長が40しかないので、結果の文字列は2^20通りしかない。
- sからoとxの数は決まるので、調べなきゃいけないのは最大でもC(20, 10)通りしかない。
- 作る文字列を決めれば、O(n^2)のDPでパターン数は求められる。
- 作れうる文字列全通りについて、パターン数足しあわせれば良いのでは。
- 計算時間がやや不安だったものの、とりあえず組んでみることに。
- |s|=40のケースで1.7sくらいだった
- チキンなので、そのケースを1.4sくらいに高速化してから提出した。
1000. ColorfulCookie
問題:いろんな色のクッキーがいっぱいある。ある色のクッキーをC1枚と別の色のクッキーをC2枚を取る操作を繰り返した時、クッキーは最大何枚取れる?
- 珍しくMediumがスムーズに解けて時間余ったので見てみた。
- 2分探索説とフロー説が脳内を駆け巡っていたものの、残念ながら解けず。
- フロー説にかけた時間が長かった時点で詰んでた(´・ω・`)
Challenge Phase
- ぼんやり見てたら、250でやたらチャレンジが成功してたので、便乗して見てみた。
- そしたら、ソートしてない人がいたので美味しくいただいた
- -
結果:AC / AC / -- ,+50, 630.99pt, 38位
レーティング:2374 -> 2426
Highestを更新し、良い感じに2011年を終えることができました。
翌日は短時間の睡眠で会社+飲み会をこなし若干キツかったですが、後悔も反省もしていない。