2011-08-10から1日間の記事一覧

SRM514 Div2 Medium(500) MagicalGirlLevelTwoDivTwo

MagicalGirlLevelTwoDivTwo(n,1), (-n,1)と跳ぶことで、上下左右に2マス移動することができるので、(偶,偶), (偶,奇), (奇,偶), (奇,奇)のマスに行くことが可能か考えれば良い。初期位置なので、(偶,偶)は可能。nが偶数ならば(1,n)→(1,n)、nが奇数ならば(1,n…

SRM514 Div2 Easy(250) MagicalGirlLevelOneDivTwo

MagicalGirlLevelOneDivTwo #include <cmath> #include <algorithm> using namespace std; class MagicalGirlLevelOneDivTwo{public: double theMinDistance( int d, int x, int y ) { return sqrt( pow( max(abs((double)x)-d,0.0), 2 ) + pow( max(abs((double)y)-d,0.0), 2 </algorithm></cmath>…

SRM514 Div1 Medium(600) MagicalGirlLevelTwoDivOne

MagicalGirlLevelTwoDivOne石版の数字の偶奇に着目すると、高さn幅mの長方形の繰り返しになっている。0≦i<nと0≦j<2mについて、y=i+kn行の偶奇がjになるような数字の置き方の数を求めておく。これを使って、全ての列が奇数個の奇数を含む数字の置き方を動的…

SRM514 Div1 Easy(250) MagicalGirlLevelOneDivOne

MagicalGirlLevelOneDivOne(n,1), (-n,1)と跳ぶことで、上下左右に2マス移動することができるので、(偶,偶), (偶,奇), (奇,偶), (奇,奇)のマスに行くことが可能か考えれば良い。初期位置なので、(偶,偶)は可能。nが偶数ならば(1,n)→(1,n)、nが奇数ならば(1,n…

SRM514

Easy (250) 0 (Failed System Test) Medium (600) 268.08 Hard (900) 0 Challenge 0 結果 1792 → 1890奇数の判定をn%2==1と書いてしまい、nが負の場合があって、落ちた。n%2!=0か、(n&2)==1と書きましょうorz

SRM514 Div2 Hard(1000) MagicalGirlLevelThreeDivTwo

MagicalGirlLevelThreeDivTwohi-lo≦1000という制約があるので、1ビットごとに0か1かを調べる。事前に各要素の長さを求めておけば、O(n2)で辿ることができる。文字列長はlong longで表現できる長さを超えうるけど、hi≦1015という制約があるので、1015以上の適…