2012-12-12から1日間の記事一覧

SRM564 Div2 Medium(500) AlternateColors

AlternateColors1ステップずつ処理していては間に合わないので、まとめる。残りのボールの色数で関数を分けると、簡潔に書ける気がする。 #include <string> using namespace std; string solve2( long long c0, long long c1, long long k, string n0, string n1 ) </string>…

SRM564 Div2 Easy(250) FauxPalindromes

FauxPalindromesV.erase(unique(V.begin(),V.end()),V.end()) で連続している重複を削除できる。 #include <string> #include <algorithm> using namespace std; class FauxPalindromes{public: string classifyIt( string word ) { string r = word; reverse(r.begin(),r.end()</algorithm></string>…

SRM564 Div1 Medium(500) AlternateColors2

AlternateColors2素朴に求めるプログラムを書いて、その結果から一般項を推測した。n=kの場合はn個のボールを赤が最多となるように塗り分ける場合の数。kを固定した場合の答えは、階差数列が等差数列になっている。 long long naive( int n, int k ) { long …

SRM564 Div1 Easy'(250) KnightCircuit2

KnightCircuit2要は、あるマスから到達可能な最大のマス数を返せば良い。 class KnightCircuit2{public: int maxSize( int w, int h ) { if ( w==1 ) return 1; if ( w==2 ) return (h+1)/2; if ( h==1 ) return 1; if ( h==2 ) return (w+1)/2; if ( w==3 &…

SRM564

Easy (250) 197.02 Medium (500) 205.80 Hard (850) 0 Challenge 0 結果 182位 2067→2065