2014-09-02
SRM 631
Div1 Easy (250) TaroJiroGrid
問題
- N×Nの升目があり、それぞれの升目は黒か白である
- 1回の操作で、1行全部を白に塗るか、または全部を黒に塗ることができる
- それぞれの列について、N/2個より多くの連続する升目がないようにしたい
- 最小の操作回数を求める
方針
- 半分のところを塗れば最大2回なので、1回で白黒ぜんぶ試してOKなら1、そうでなければ2
- ただし最初から条件を満たしていれば0
- Passed System Test
- https://github.com/firewood/topcoder/blob/master/srm_6xx/srm_631/TaroJiroGrid.cpp
Div1 Medium (500) CatsOnTheLineDiv1
問題
- 左から右の直線上に猫が何匹かいる
- 位置と匹数が与えられる
- 時間timeだけ左右のどちらかに移動できる
- 2匹以上が存在する座標の総数の最小値を求める
方針
- 展開すると0、集めると1になる
- 展開したときと集めたときでDPみたいなテーブルを作る
- サンプル通ったので提出
- Challenge Succeeded
- 配列の制限が1000までだったので死んだが、それ直してもバグっていた
- kojingharangさんのところを読む
- 左から処理していく
- 一つ前に一箇所に集めたとき、そこに合流できるなら合流するのが優先
- 1匹に展開できるなら左に寄せる
- どちらも無理なら右に寄せて、答えを+1する
- 展開できる場合、狭いものを優先する必要があるかと思ったが、左詰めでぶつかるのであれば、少なくとも一方は集める必要があるので、幅の小さい(数が少ない)ほうを優先したりする必要はなかった
結果
ox- +1 169.55+50=219.55pts rating 1453 -> 1537 (+84)
SRMらしい問題。
- 95 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 8 https://www.google.co.jp/
- 6 https://topcoder-g-hatena-ne-jp.jag-icpc.org
- 4 Feedspotbot: http://www.feedspot.com
- 2 http://d.hatena.ne.jp/harapon1012/20110912/1315805381
- 2 https://www.google.com/
- 1 http://pipes.yahoo.com/pipes/pipe.run?_id=TssmX7bb2xGYLar_l7okhQ&_render=rss&group_id=TopCoder
- 1 http://search.yahoo.co.jp/search?p=topcoder+練習&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 1 https://translate.google.com/translate_p?hl=en&ie=UTF8&prev=_t&sl=auto&tl=zh-CN&u=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20140514&depth=1&usg=ALkJrhjrUOz9ZeQqGbt7iGpHlptnPl-pMw
- 1 https://translate.google.com/translate_p?hl=en&sl=ja&tl=en&u=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20140514&depth=1&usg=ALkJrhiqrji28YWuoI2RgTPpynZHOsxieA