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

SRM408: CandyGame

SRM

(問題概要) acyclicなグラフ(|G| 操作: ノードに2つの飴があるとき、ひとつ食べて、ひとつを隣接ノードに移動 という操作が可能。 操作を繰り返して、目的のノードに飴を置くことが"できない"ようにする時に、最大何個飴を置けるか。(解法) 少し考えると、…

SRM407: PointsGame

SRM

(問題概要) 平面上の点(12個以下)を自分が赤、相手が青で自分から交互に塗っていく。 最後に色の違う点の全対に対して、距離の和が得点になる。 相手は得点を最小にするように最適に動く。 最大何点得られるか。(解法) 点の数が少ないので、bitDPすれば良い…

SRM 406: FoldThePaper

SRM

(問題概要) 数値がグリッド上に書かれた紙を折りたたんで行って重なった数値の合計を最大化する。(解法) 縦と横を独立に考えることができる。 縦横は各全探索 #include <algorithm> #include <cstdio> #define REP(i,n) for(int i=0; i<(int)(n); i++) #include <queue> #include <set> #inc</set></queue></cstdio></algorithm>…

SRM 405: AllCycleLengths

SRM

(問題概要) 有向グラフが与えられる(ノード数 好きなところからスタートしてi回(i = 1, 2, ...)の移動後最初の地点に戻れるか。 各iに対して戻れるなら1戻れないなら0を並べたものを計算せよ。 ただし結果は以下の一番短くなるフォーマットで 010(110) (意味…

2、3日が

ゲシュタルト崩壊したリアルが忙しすぎるので週末に解く

SRM405

SRM

ムズイので2,3日考えます

SRM 404: KSubstring

SRM

(問題概要) A[0] .. A[n - 1] (引数から線形合同法みたいなので構成) に対して、s(i, k) = A[i] + ... + A[i + k - 1] とする。 s(i, k) - s(j, k) (i + k - 1 を最小にするkとその値を求めよ。(解法) kを1ずつ増やしていった時に、s(i, k) (i = 0 .. n-1) …

SRM 403: TheLuckySequence

SRM

(問題概要) 4, 7だけで構成された数値をLucky numberとする。 以下を満たす長さlengthの数列は何個あるか ∀i, A[i] is Lucky number ∀i, ∃j, A[i] = numbers[j] ∀i, last digit of A[i] == first digit of A[i + 1] (解法) numbersのうちのLucky numberだけ…

SRM 402: LargestGap

SRM

(問題概要) 循環する文字列の連続する'X'を1箇所消して、連続する'.'の数を最大化する (正確には連続する'.'の数の配列を辞書順最大化する)(解法) ただのシミュレーション。おもしろくない・・・ #include <algorithm> #define REP(i,n) for(int i=0; i<(int)(n); i++) </algorithm>…