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

SRM551 Div2 Hard(950) ColorfulCupcakesDivTwo

ColorfulCupcakesDivTwo動的計画法。現在の位置、最初の人のケーキの色、前の人のケーキの色、各色のケーキの残数、ごとに配り方の数を覚えておく。 #include <string> #include <vector> #include <algorithm> using namespace std; long long M = 1000000007; vector<vector<vector<int> > > memo[50][3][</vector<vector<int></algorithm></vector></string>…

SRM551 Div2 Easy(250) ColorfulBricks

ColorfulBricks文字が1種類なら1、2種類なら2、それ以上なら0。 #include <string> #include <set> using namespace std; class ColorfulBricks{public: int countLayouts( string bricks ) { switch( set<char>(bricks.begin(),bricks.end()).size() ) { case 1: return 1; cas</char></set></string>…

SRM551 Div1 Medium(450) ColorfulWolves

ColorfulWolves色xから色yに変更可能にするコストは、colormap[x][0..y-1]の'Y'の個数。色0から色N-1への最短経路を求めれば良い。 #include <string> #include <vector> using namespace std; class ColorfulWolves{public: int getmin( vector <string> colormap ) { int INF = 999</string></vector></string>…

SRM551 Div1 Easy(250), Div2 Medium(500) ColorfulChocolates

ColorfulChocolatesspredを最大にするとき、その色のチョコのうち1個は動かさないことが可能。動かさないチョコを決めて、そのチョコの周りに同色のチョコを何個集められるかを調べる。あるチョコを持ってくるとき、交換回数は、そのチョコとの間にある違う…

SRM551

Easy (250) 0 Medium (450) 400.84 Hard (1000) 0 Challenge 0 結果 322位 2242→21612人しか解けなかった1000を考える前に、250を見直すべきだったorz