2012-08-01から1ヶ月間の記事一覧

データ構造はまずはそれを使う!という問題や、それの頻出の使いかたの問題をやるべきか。 SRMではそういう問題はあまり出ないと思うから、他のところか。 そして使える時に使えるようにならなければいけない。 例えばRangeMinimumQueryはDPの加速に使えるが…

感動すること重要

モチベ重要 回答に感動すること・さらには自分の(回答・アイデア)に感動することは非常にモチベになる

SRM 541 DIV1 Medium AkariDaisukiDiv1

http://apps.topcoder.com/stat?c=problem_statement&pm=11888&rd=14733 コメント 他の人の回答を見た。 レート上から見ていったのだが、その中でKankuro氏の回答がシンプルでわかり易かった。 接頭・接尾だけを保存、とすると複雑になりがちだが、単に、「…

SRM 446 DIV1 Medium AntOnGraph

http://apps.topcoder.com/stat?c=problem_statement&pm=10516&rd=13900 問題 重み付き有向グラフ(V 今、点0に蟻が居る。 蟻は1秒間にstepsPerSecond( 最大timeLimit( 蟻は最終的に点1に行きたい。 ここで、蟻が通った辺の重みの合計を最大化したい。 もし点…

http://apps.topcoder.com/wiki/display/tc/SRM+446のAntOnGraphのコードの、行列のmaxを取るやつ、(-∞, max, (+))は(max-plus代数, schedule代数 とも, 整数に対してpolar半環, tropical半環 とも) というらしく、 この累乗の高速化アルゴリズムはなんか律…

Codeforces Round #132 (Div. 2) (No.215) 本番

本番 A ふつう B 式をWolfram|Alpha先生に解いてもらった ((r1^2*pi-r2^2*pi)*p1)/(r2^2*pi*p2) = A/B > r2 = (sqrt(p1)*r1) / sqrt(p1 + p2*(A/B)) p1が割り算の両辺に出てるので念のため全探索したが、本当はmaximumでいいようだ C 問題わからん D なんと…

操作が複雑なとき

ステップに分け、それぞれのステップごとを関数にする。 逆関数などを求めたかったら、それぞれについて考え、それを合成する

SRM 419 DIV1 Easy Undo

http://community.topcoder.com/stat?c=problem_statement&pm=10054&rd=13510 回答 後ろから見てって、undoがあったらそのtimeまでiをデクリメントする コード

SRM 415 DIV1 Medium CollectingPostmarks

http://community.topcoder.com/stat?c=problem_statement&pm=9958&rd=13506 回答 他の人の回答を見た。 まず、持ってるものは売ってから買っても同じなので、まず全部売ってから考える。 ナップザック問題にできて、値の範囲的にDPはできないので指数時間が…

SRM 306 DIV1 Easy BifidSortMachine

http://community.topcoder.com/stat?c=problem_statement&pm=6415&rd=9986 回答 一度動かした奴をもう一度動かす意味は無い。 だからそれぞれは前に動かす,後ろに動かす,動かさないの3種類にわれるが、小さいものを前に、大きいものを後ろに動かしたほうが…

SRM 551 DIV2 Hard ColorfulCupcakesDivTwo

http://community.topcoder.com/stat?c=problem_statement&pm=12138 回答 典型的なDP dp[最初の色][前の色][Aの数][Bの数][Cの数]で コメント 本番で通せよ。これは解ける。 本番はもっと冷静になるべき。 本番では状態がわからなかった。種類数が少ないのは…

SRM 551 DIV2 本番

250 問題読むの遅すぎ 500 とにかく遅すぎ複雑になって落ちるかも Challenge -50 死ね。見て気づいたやつ他の人に落とされるし、確認せずにやるなよばーーーーーーーーーーーーーーーーーーーーーーーか死ね死ね レート落ちるんじゃね?何がレッドコーダーだ…

SRM 450 DIV1 Easy OrderedNim

http://apps.topcoder.com/stat?c=problem_statement&pm=10190&rd=13904 回答 何番目か、1にしたかどうか、でDP コメント メモ化を忘れるミスが酷かった。 コード

メモ化を忘れる

酷いミス。確認しろ 本当に

練習記録の方針

タイトルは、SRMの場合"SRM 123 DIV1 Medium ProblemName"のように書く 一番上に、元の問題文が読めるページへのリンクを置く "問題"小見出しに、問題の概要を書く "回答"小見出しに、自分の考えたこと・考え方を書く "コメント"小見出しに、雑多な、反省点…

SRM 270 DIV1 Medium SalesmansDilemma

Problem Statement for SalesmansDilemma 問題 重み付き(負の重みもある)有向グラフのある点からある点へ向かい、その途中で通った辺の重みの総和を最小化したい。 ただし到達できない場合は"IMPOSSIBLE"を返し、無限に小さくなる時は"ENDLESS PROFIT"を返せ…

SRM 545 DIV1 Easy StrIIRec

問題 長さnの文字列sに対して length [() | i s!!j] を文字列sのinversion数とする。 int n, int minInv, string minStr が与えられた時、 長さnの文字列で (take n ['a'..])の順列であって 辞書順でminStr以上で inversion数がminInv以上である ような辞書…

SRM 546 DIV1 Easy KleofasTail

問題 最初の数値をXとした時、 最下位ビットが1なら subtract 1 最下位ビットが0なら (`shiftR` 1) とした時、[A,B]の範囲のXの中で途中にKが出てくる数の数を答えよ 回答 他の人の回答を見た。また、ほとんどその人の写し。 [A,B]という範囲を考えるのには…

(1 << (long long)i) は駄目

シフト演算子の結果は、左右辺の大きい方の型、ではなく、必ず左辺の型になる(たぶん)。 ので、iをlong longにしないで、必ず (1LL チャレンジの際にも気に留めておこう

最近、SRMの練習してないのでやる

明日はSRM。 練習しなきゃ。練習しなきゃ伸びないでしょ。伸びたいから、練習する。

天下一プログラマーコンテスト2012 予選A / C - 敵対的引用

C: 敵対的引用 - 天下一プログラマーコンテスト2012 予選A | AtCoder 問題 有向グラフA(V ある一ノードpとbool配列x[N](N pから出発してi番目(i x[i]がtrueならAを進むことができ、 x[i]がfalseならBを進むことができる。 この時、到達可能なノードの数を答…

いろいろ

Spaghetti Source - 各種アルゴリズムの C++ による実装 参考・コピペをさせてもらっていて、とても感謝しているサイト