2011-07-26から1日間の記事一覧

SRM513 Div2 Easy(250) TrainingCamp

TrainingCamp #include <string> #include <vector> using namespace std; class TrainingCamp{public: vector <string> determineSolvers( vector <string> attendance, vector <string> problemTopics ) { int N = (int)attendance.size(); int M = (int)attendance[0].size(); int K = (int)proble</string></string></string></vector></string>…

SRM513 Div1 Medium(500) PerfectMemory

PerfectMemory残っているカード枚数と、そのうち一度もめくっていないカードの枚数ごとに、最小手数の期待値を覚えておいて、動的計画法。一度もめくっていないカードを最初にめくるのが最善で、1枚目が既にめくったシンボルの場合、2枚目はそのシンボルを…

SRM513 Div1 Easy(250), Div2 Medium(500) YetAnotherIncredibleMachine

YetAnotherIncredibleMachineそれぞれのplatformについて何通りの置き方があるか求めて、掛け合わせる。 #include <vector> #include <algorithm> using namespace std; class YetAnotherIncredibleMachine{public: int countWays( vector <int> platformMount, vector <int> platformLeng</int></int></algorithm></vector>…

SRM513

Easy (250) 160.79 Medium (500) 0 Hard (1000) 0 Challenge 0 結果 1862 → 1792英語を読み間違ったのが痛い。時間があれば500も解けたかもしれないorz

SRM513 Div2 Hard(1000) CutTheNumbers

CutTheNumbersメモ化探索。板のサイズが小さいので、板の切り取りかた全てについて、最大の和を覚えておくことができる。 #include <string> #include <vector> using namespace std; int memo[1<<16]; int bit( int x, int y ) { return 1<<(y*4+x); } int BT( vector<string> board</string></vector></string>…