torus711 のアレ

主に競技プログラミングの問題について書きます.PC 以外だと数式が表示されないかもしれないです

2013-01-01から1年間の記事一覧

Codeforces #201, Division 2, A : Difference Row

問題文 http://codeforces.com/contest/347/problem/A 概要 N 項からなる a 数列が与えられる。 この数列を並び替え、次の値が最大になる辞書順最小の列を求めよ。

Codeforces #201, Division 2, B : Fixed Points

問題文 http://codeforces.com/contest/347/problem/B 概要 数列の fixed point を a[ i ] = i を満たす箇所と定める。N 項からなる数列が与えられる。 この数列に対し、二つのインデックスを選んでその二箇所を入れ替える操作を一回までできる。(やらなく…

TopCoder SRM 591, Division 2, Level 1 : TheArithmeticProgression

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12755&rd=15703 概要 トリプル ( x, y, z ) が y - x = z - y を満たすとき、( x, y, z ) が等差であるとする。三つの整数 a, b, c が与えられる。 ( a, b, c ) を等差にするために、次の…

TopCoder SRM 591, Division 2, Level 2 : ConvertibleStrings

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12754&rd=15703 概要 長さが等しい二つの文字列 X, Y が次の条件を満たすとき、「変換可能」であるとする。 アルファベットの順列を一つ選び P とする X[ i ] を P[ X[ i ] ] で置き換え…

TopCoder SRM 591, Division 1, Level 1 : TheTree

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12746&rd=15703 概要 次の制約を満たす木の最大の直径を求めよ。 一つのノードを選び、これを V とする V から最も遠いノードへの距離を D とする x ( 1 ≦ x ≦ D ) について、V から距離 x…

Codeforces #200, Division 2, A : Magnets

問題文 http://codeforces.com/contest/344/problem/A 概要 N 個の磁石を指定された順番と向きで一列に並べる。 隣り合う極が同じ場合、二つの磁石がくっついて一つのグループになる。 そうでないとき、磁石は反発するので違うグループとなる。 全てを並べた…

Codeforces #200, Division 2, B : Simple Molecules

問題文 http://codeforces.com/contest/344/problem/B 概要 三頂点からなるグラフがある。 このグラフは多重辺を許可し、ループを許可しない。 グラフの各頂点について、次数が指定される。 その制約を満たすグラフを構築できるならば、そのときの辺の張り方…

TopCoder SRM 590, Division 2, Level 1 : FoxAndGomoku

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12744&rd=15702 概要 '.' と 'o' からなるグリッド状の盤面が与えられる。 盤面上で、縦・横・斜めのいずれかに 'o' が五つ並んでいる箇所があるかどうか判定せよ。

TopCoder SRM 590, Division 2, Level 2 : FoxAndGo

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12743&rd=15702 概要 '.', 'x', 'o' からなるグリッド状の盤面が与えられる。 'o' の component を次のように定義する。 二つの 'o' が辺を共有して接しているとき、この二つは同じ compo…

TopCoder SRM 590, Division 2, Level 3 : FoxAndShogi

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12745&rd=15702 概要 '.', 'U', 'D' からなるグリッド状の盤面が与えられる。 一回の操作は次の二つの操作の内いずれかを行うことができる。 その上のセルが '.' である 'U' を一つ選び、…

Codeforces #199, A : Xenia and Divisors

問題文 http://codeforces.com/contest/342/problem/A 概要 要素数が 3n で、7 以下の正整数からなる列が与えられる。 この列から、以下の条件を満たす組 ( a, b, c ) を重複無く n 個取り出したい。 b は a の倍数 c は b の倍数 条件を満たす取り出し方を…

Codeforces #199, B : Xenia and Spies

問題文 http://codeforces.com/contest/342/problem/B 概要 n 人の人が一列に並んでいて、s 番目の人がノートを持っている。 ノートを隣の人に渡すことを繰り返して、ノートを f 番目の人に渡したい。 ただし、監視されている間はいかなる動き(ノートを渡す…

TopCoder SRM 590, Division 1, Level 1 : FoxAndChess

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12725&rd=15702 概要 セルが一行に並んだ盤面上でゲームをする。 ゲームには二種類の駒を使い、一つは一回の移動で右に一つ移動できる。 他方は一回の移動で左に一つ移動できる。 一つの…

TopCoder SRM 589, Division 2, Level 1 : GooseTattarrattatDiv2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12733&rd=15701 概要 文字列 S が与えられる。 次の操作を繰り返して、S が単一の文字から成るようにしたい。 アルファベットを一つ選び、その文字を全て任意の一文字に置き換える 操作に…

TopCoder SRM 589, Division 2, Level 2 : GearsDiv2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12732&rd=15701 概要 歯車が円状に並んでいて、隣り合う歯車は噛み合っている。 噛み合っている歯車同士は違う方向にしか回転できない。 また、必要があれば歯車を取り外して空きにするこ…

TopCoder SRM 589, Division 1, Level 1 : GooseTattarrattatDiv1

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12730&rd=15701 概要 文字列 S が与えられる。 S に対して次の操作を繰り返し適用し、回文となるようにしたい。 アルファベットを一つ選び、その文字を全て任意の一文字に置き換える。 操…

TopCoder SRM 589, Divisin 1, Level 2 : GearsDiv1

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12729&rd=15701 概要 N 個の歯車があり、それぞれの色は赤、緑、青のいずれかである。 噛み合っている歯車どうしは、互いに逆向きにしか回転できない。 また、同じ色の歯車は同じ方向に回…

Codeforces #197, A : Helpful Maths

問題文 http://codeforces.com/contest/339/problem/A 概要 整数 1, 2, 3 と '+' からなる、足し算を表す式が与えられる。 数字が非減少な順序で現れるように書き換えよ。

Codeforces #197, B : Xenia and Ringroad

問題文 http://codeforces.com/contest/339/problem/B 概要 円周上の道に沿って n 個の家がある。 始め 1 番 ( 1-indexed ) の家に居て、m 個の用事を済ますために各家を順に訪問する。 i 番目の用事を済ますためには 番の家に行く必要がある。 移動は時計回…

Codeforces #197, D : Xenia and Bit Operations

問題文 http://codeforces.com/contest/339/problem/D 概要 要素数が の数列 a が与えられる。 この数列に対し、次の手順により求まる値を v とする。 数列の項数が 2 以上の間、次の処理によって得られる数列を新しい a とする 奇数回目の処理のとき、偶数…

TopCoder SRM 588, Division 2, level 1 : KeyDungeonDiv2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12724&rd=15700 概要 N 個の扉があるダンジョンを探検している。 ダンジョンには赤、緑、白の三種類の鍵がある。 それぞれの扉には赤い鍵穴と緑の鍵穴がそれぞれ 0 個以上付いていて、赤…

TopCoder SRM 588, Division 2, Level 2 : GUMIAndSongsDiv2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12707&rd=15700 概要 N 個の曲があって、それぞれについて長さとトーンの情報が与えられる。 曲 x の次に曲 y を歌うとき、そのトーンの差の絶対値だけ時間を開けなければ歌えない。 時間…

TopCoder SRM 588, Division 1, Level 1 : GUMIAndSongsDiv1

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12706&rd=15700 概要 ほぼ Divisin 2, level 2 と同一で、N

TopCoder SRM 587, Division 2, Level 1 : insertZ

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12700&rd=15699 概要 英小文字からなる二つの文字列 init と goal が与えられる。 init は 'z' 以外の文字から構成される。 init に 'z' を任意の場所に挿入する操作が任意回可能なとき、…

SRM 587, Division 1, Level 1 ( Division 2, Level 2 ) : JumpFurther

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12300&rd=15699 概要 無限に長い階段があり、最初は 0 段目にいる。 次のような移動を N 回行う。 i 番目( 1-indexed ) の移動では、現在地点を c とすると、c または c + i 段目に移動…

TopCoder SRM 587, Division 1, Level 2 : TriangleXor

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12528&rd=15699 概要 ある正整数 W があり、( 0, 0 ), ( 0, 1 ), ( W, 0 ), ( W, 1 ) によって張られる XY 平面がある。 この平面上に、( 0, 1 ), ( W, 1 ), ( x, 0 ) (ただし 0 奇数個…

TopCoder SRM 586, Division 2, Level 1 : TeamsSelection

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12696&rd=15698 概要 N + 2 人の人がいて、内二人はキャプテンである。 二人のキャプテンは残りの N 人を二つのチームに割り振りたい。 各キャプテンは自チームに欲しい順に N 人の人をリ…

TopCoder SRM 586, Division 2, Level 2 : PiecewiseLinearFunctionDiv2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12698&rd=15698 概要 Division 1, Level 1 と同様の関数 f がある。 query に含まれる数について、query[i] = f(x) を満たす x の個数を求めよ。 無限に存在する場合は -1 で示せ。

TopCoder SRM 586, Division 1, Level 1 : PiecewiseLinearFunction

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12691&rd=15698 概要 関数 f があり、そのうちいくつかの点、( x, f(x) ) の座標は ( i, Y[i] ) である。 関数は ( i, Y[i] ) と( i + 1, Y[ i + 1 ] ) を結んだ線分の集合となる。 関数…

TopCoder SRM 584, Division 2, level 3 : Excavations2

問題文 http://community.topcoder.com/stat?c=problem_statement&pm=12644&rd=15696 概要 N 個の遺跡が地中に埋もれており、それらの種類は [ 1, 50 ] の整数で区別される。 K 個の遺跡が発掘され、発見された遺跡の種類のリストが与えられる。 (同種の遺…