2013-12-23
SRM 592
Div1 Easy (300) LittleElephantAndBalls
問題
- RGB三種類のボールがある
- テーブルに1つずつ置いていく
- ボールを置いたとき、置いたボールの左側の色の数と、右側の色の数が得点になる
- 得点の最大値を求める
方針
- 手が出ず
- (終了後)
- 左右それぞれにできるだけ異なる色を置いていくと、結局左右それぞれに置いたかどうかになる
- 色毎に最大2個まで覚えておけばよい
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_592/LittleElephantAndBalls.cpp
Div2 Easy (250) LittleElephantAndBooks
問題
- 何冊かの本があり、ページ数が配列で与えられる
- N冊選んで読む
- 読んだページ数の合計が2番目に少ないようにしたい
- 何ページ読むことになるか求める
方針
- 最初または末尾より一つ前、どちらかの本を読まないのが2番目
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_592/LittleElephantAndBooks.cpp
Div2 Medium (500) LittleElephantAndPermutationDiv2
問題
- 1からNまでのN個の数列AとBがある
- それぞれの要素を並べ替えて、max(Ai,Bi)の和を求める
- 和がK以上になるのは何通りか求める
方針
- next_permutationで全列挙
- 並べ方はN!通りあるので、K以上ならN!を加える
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_592/LittleElephantAndPermutationDiv2.cpp
結果
--- 0pt rating 1217 -> 1161
並べ方を考えてしまい失敗。