2011-05-28から1日間の記事一覧

SRM505 Div2 Medium(500) PerfectSequences

PerfectSequences各要素を書き換えてperfect sequenceにできるかどうか調べる。 #include <vector> #include <string> using namespace std; class PerfectSequences{public: string fixIt( vector <int> seq ) { int n = (int)seq.size(); if ( n == 1 ) return "Yes"; for ( int</int></string></vector>…

SRM505 Div2 Easy(250) SentenceCapitalizerInator

SentenceCapitalizerInator #include <string> #include <cstdlib> using namespace std; class SentenceCapitalizerInator{public: string fixCaps( string paragraph ) { paragraph[0] = toupper(paragraph[0]); for ( int i=2; i<(int)paragraph.length(); i++ ) if ( para</cstdlib></string>…

SRM505 Div1 Medium(500) SetMultiples

SetMultiples閾値Tより小さい値は1個ずつSに含まれるかどうかを調べる。閾値T以上の値は、[A,B], [C,D]の範囲から、[(A+1)/2,B/2],[(C+1)/2,D/2],[(A+2)/3,B/3],[(C+2)/3,D/3],……,[(A+k-1)/k,B/k],[(C+k-1)/k,D/k]を除いた範囲の長さを調べる。T以上と[A,B]…

SRM507 Div2 Hard(1000) CubeRoll

CubeRollスタートとゴールの間に穴があったら到達不可能。スタート・ゴールの両側に穴があったら、立方体の移動範囲は狭いので、動的計画法。それ以外の場合はスタートとゴールの距離に着目する。距離が平方数なら1手。距離が平方数の和なら2手。距離が平…

SRM507 Div2 Easy(250) CubeAnts

CubeAnts #include <vector> using namespace std; class CubeAnts{public: int getMinimumSteps( vector <int> pos ) { int D[] = { 0, 1, 2, 1, 1, 2, 3, 2 }; int ans = 0; for ( int i=0; i<(int)pos.size(); i++ ) ans = max( ans, D[pos[i]] ); return ans; }};</int></vector>

SRM507 Div1 Medium(500) CubePacking

CubePacking幅<高さ<奥行き として、幅と高さを全探索。間に合う。幅と高さをどちらもLにすれば、ceil(総体積/(L*L))の立方体には収まるので、答えはそれ以下。 #include <algorithm> using namespace std; class CubePacking{public: int getMinimumVolume( int Ns, </algorithm>…

SRM507 Div1 Easy(250), Div2 Medium(500) CubeStickers

CubeStickers同じ色は2回まで使える。順番も関係無いので、2回までで取っていって、取れるかどうか。 #include <string> #include <vector> #include <map> using namespace std; class CubeStickers{public: string isPossible( vector <string> sticker ) { map<string,int> F; for ( int i=0; i<6</string,int></string></map></vector></string>…

SRM507

Easy (250) 228.26 Medium (500) 159.71(再提出) Hard (1000) 0 Challenge +50 結果 1853 → 1927500は、w≦Nb*L+αくらいまでしか探索していなくて再提出。痛いけどミスに気付けただけマシか。