2012-10-24
Codeforces 142 Div2
A. Dragons
問題
- 自分の腕力sよりも弱いドラゴンは倒せる
- ドラゴンを倒すと腕力がy増える
- n匹のドラゴンが倒せるかどうかを求める
方針
- ソートして足していくだけ
B. T-primes
問題
- 約数がちょうど3つかどうかを判定する
方針
- 素数の2乗ならOK
- 初期化時にstd::set<long long>に突っ込んでおく
C. Shifts
問題
- N行M列のビット列が与えられる
- ある列全てを1にするための最小のシフト回数を求める
方針
- ある行yについて処理することを考える
- その行yを位置xに揃えるコストを求める
- ある位置currentにビットが立っていたら、その前にビットが立っている位置prevとcurrentの近いほうにシフトするものとして最小コストを計算
- 全行のコストを足して、一番小さい桁が答え
結果
oox 808pt 620th rating 1629 -> 1555 (-74)
Cは単純にfindと逆の文字列のfindでやったらTLEした。単純すぎた。
ビットが立っている位置を保持しておいて、2分探索なら通りそう。
- 35 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CFIQFjAG&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20110822/1314033558&ei=NiaOUNe8LMj3mAXA3oDIBA&usg=AFQjCNG1j2k5bGPcJjfODfipKgRa5TbFjQ
- 1 http://www.google.co.jp/reader/view/
- 1 http://www.google.com/reader/view/?hl=ja
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=topcoder srm 544&source=web&cd=3&ved=0CDAQFjAC&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120530/1338401154&ei=GKuKULaVLa2ImQXhvIDwDw&usg=AFQjCNHhsFCSHR660_fhapU7VbypQNAH0Q&cad=rja
- 1 http://search.yahoo.co.jp/search?p=srm522&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=codeforces 142 a&source=web&cd=1&ved=0CCQQFjAA&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20121024/1351089983&ei=aieNUKIUhLmIB-20gMgP&usg=AFQjCNHjI64M0eNPT7GiCGFMDgOHwSi8UQ&sig2=nWcaRLbvHBpfUeZjWkgsFA
- 1 http://www.google.co.jp/?complete=0
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CEYQFjAG&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120224/1330104582&ei=wKuOUMTgDOOJmQWo-oHwDg&usg=AFQjCNFaBIbbWnnJgUyUAU3MyVUmZMiC7w&sig2=iSAGWV0fDvlI8b-dITr9eg