2009-01-07から1日間の記事一覧

寂しすぎワロタwwwwwwwww

みんなもっと積極的にコメントするべきだと思うよ!いやコメントの付けようが無いのは分かってますけど。

TopCoder SRM 144 DIV 1 Easy 練習

問題 二進文字列Pに対するエンコードQを次のように考える。 Q[i] = P[i-1] + P[i] + P[i+1] Qが与えられる。 P[0] = '0'とした場合とP[0] = '1'とした場合にそれぞれPを復元して返せ。ただし復元不可能な場合はNONEを返すこと。 解 やるだけ、なんだけどやっ…

TopCoder SRM 296 DIV 1 Easy 練習

問題 CDに入る楽曲のサイズ、楽曲の長さ、楽曲の数が与えられる。各楽曲を一秒の空白を挟んで録音するとき、必要なCDの枚数を求めなさい。ただし、CDに入っている楽曲の数が13の倍数に決してならないこと。 解 いろんなケースについて考えられれば大丈夫。 u…

TopCoder SRM 314 DIV 1 Medium 練習

問題 整数が幾つかあたえられて、ここから三つとって、それを三辺の長さとする三角形をたくさん作る。合計の面積が最大になるような三角形の作り方をしたとき、面積はいくらか。 解 整数の数の最大が16。これはintエンコードでメモ化しろって言ってるような…

TopCoder SRM 314 DIV 1 Easy 練習

問題 1〜ある数まで、自身より左にある自身より大きい数の個数が与えられるので、条件を満たすように数列を復元しなさい。 解 深さ優先&枝刈り。 using System; using System.Text; using System.Text.RegularExpressions; using System.Collections; using…

TopCoder SRM 172 DIV 1 Easy 練習

問題 12時間表記のアナログ時計がふたつあって、ひとつは壊れてて、一時間の秒数がおかしい。もうひとつは正常。この二つの時計が今指している時刻が与えられるので、次にこの二つの時計が同じ時刻を指すのは何時間後か求めなさい。 解 数学の問題。まず分も…

TCHS08 Championship Round Medium 練習

問題 ある文字列があって、1〜文字列の長さまでの数(iとする)を順番に考えていく。すべてのiについて、i文字目までを反転するかしないか選択できるとき、文字列ができるだけアルファベット順で小さくなるようにしたい。一番小さくしたときの文字列を求めなさ…

TCHS08 Championship Round Easy 練習

問題 ある数列Xに対して、Xの各要素がふたつずつ出現し、ある数nふたつの位置がちょうどn+1離れている(間にn個の要素が挟まれている)ような数列(Langford sequence)を考える。数列が与えられるので、その数列に対するLangford sequenceのうち辞書順で最小の…

TCHS08 Online Round 3 Hard 練習

問題 正方形を無限にならべた横長の板があって、この上に高さが1で横の長さが決まっている長方形がいくつかある。この長方形を左右に動かして、ちょうど決められた範囲を覆うようにしたい。最低何回動かせばぴったり覆えるか求めなさい。 解 俺の嫁(動的計画…

TCHS08 Online Round 3 Medium 練習

問題 1〜nまでの全ての数で割り切れる最小の数を987654321で割った余りを求めなさい。 解 これもやっていくだけ。最小公倍数なので素数をチェックしてかけていく。注意しなきゃいけないのは、ある素数 p (1 ≦ p ≦ n) に対して、px (px ≦ n) が最大になるよう…

TCHS08 Online Round 3 Easy 練習

問題 同じ文字の出現回数で文字列の類似度をはかります。文字列がたくさん与えられるので、一番類似度の高い文字列のペアの類似度を求めなさい。 解 やるだけなんだけど、これがもっと早く書けるといいな。類似度計算が汚い。ヒストグラム使うとかスマートな…

TCHS09 Round 1 通過

Round2へ行けるらしい。 Also, for competing in Round 1, you have won a limited edition TopCoder High School T-shirt!こんな事も書いてあったのでTシャツが貰えるみたい。

TopCoder SRM 144 DIV 2 Hard 練習

問題 木構造の根から出発して、全ての葉を回る最短経路を求める問題。 解 問題が読めればあとは実装するだけ。根から全ての葉にたどり着くことができるので、根から葉までの距離が一番大きい葉を一番後回しにすればおk。 using System; using System.Text; …