2010-03-26から1日間の記事一覧

SRM465 Div1 Easy(250), Div2 Medium(500) TurretPlacement

TurretPlacementある地点AとBに塔を作るとき、塔の大きさを最も大きくできるのは塔がAとBを結ぶ線分に平行な場合で、塔の大きさの和は最大でAとBの距離の倍。和がdになるような大きさの選び方はd(d-1)/2通り。 #include <vector> #include <cmath> using namespace std; cla</cmath></vector>…

SRM465 Div2 Easy(250) NumberNeighbours

NumberNeighbours #include <vector> #include <algorithm> using namespace std; class NumberNeighbours { public: int numPairs( vector <int> numbers ); }; int NumberNeighbours::numPairs( vector <int> numbers ) { int n = (int)numbers.size(); vector<vector<int> > normal( n ); for ( int</vector<int></int></int></algorithm></vector>…

SRM465

不参加。

SRM464 Div1 Medium(550) ColorfulDecoration

ColorfulDecoration二分探索。あるサイズの紙を重ならずに置けるかどうかはバックトラックで探索。 #include <vector> using namespace std; class ColorfulDecoration { struct POS { int x, y; POS(int x_, int y_) : x(x_), y(y_) {} bool operator==( const POS </vector>…