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

SRM 251 DIV1 Hard MusicCompilation

問題 Editorial 問題 アーティストの名前とその人の曲の数artistsがいくつか与えられる。 各アーティストがその人の曲の数だけ出てくるリストであって、 let d v = sum. map (maybe 0 succ. uncurry elemIndex). zip v. tail. tails$ v と定義されるd(x)を最…

SRM 250 DIV1 Hard ConvexPolygons

問題 Editorial 問題 2つの凸多角形の共通部分の面積を求めよ 解答 ライブラリゲー Spaghetti Sourceさんhttp://www.prefield.com/algorithm/index.html のコードを使った コードはほぼSpaghetti Sourceさんのコードそのままなので、ここに貼るまでも無いの…

SRM 249 DIV1 Hard CultureGrowth

問題 Editorial 問題 初期状態として、整数座標上の点がいくつか与えられる(xs, ys)。 いつでも、任意の点2つ(p, q)に対して((p.x + q.x) / 2.0, (q.x + q.y) / 2.0)の点を作ることができる。 この操作を無限にどんなふうにでも繰り返せるとき、全ての点を被…

SRM 248 DIV1 Hard ClockManagement

問題 Editorial 問題 略 解答 (ターン * 残り時間 * スコア)でゲームDPするだけ コード #include <vector> #include <cstring> #define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i)) #define mset(m,v) memset(m,v,sizeof(m)) using namespace std; typedef vector<int> </int></cstring></vector>…

SRM 247 DIV1 Hard Necklaces

問題 Editorial 問題 輪になったネックレスがある。 ネックレスの各宝石の価値gemsが与えられる。 このネックレスをn回カットしてnつに分けたい。 カット後の各部分は1つ以上の宝石が含まれていなければいけない。 カット後の各部分の価値の総和の(最大-最小…

SRM 246 DIV1 Hard CalcRoot

SRM

問題 Editorial 問題 abs(sqrt(N) - a/b)が最小となる正整数a, b (b 1 1 解答 long doubleでやるだけ。 最小との比較は整数演算だけでもできるらしい(Editorial参照) コメント 簡単回。 最小との比較の誤差を何も気にせずに書いてた。それ駄目だろ!まあlong…

SRM 245 DIV1 Hard SandTimers

問題 Editorial 問題 それぞれ一定の時間だけを測れる砂時計timersが与えられる。 砂時計は最初か他のどれかの砂時計の砂が落ち終わった時にのみひっくり返すことができる。 砂時計をひっくり返すタイミングで、"Start"や"Stop"と言うことができて、"Start"…