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

KUPC 2011 A: KUPC

問題概要 文字列が与えられる(strlen 考えたこと minとるだけに見える。 A問題だし罠とかないよね。 個人戦でのオンサイト参加は初めてで、緊張感からタイポ連発したけど無事通った。

SRM 364 500pt: PowerPlants

問題概要 N( 考えたこと 最小スタイナー木に似てる気がする。 問題文が読めない。稼働してる奴から直接辺をはらないとダメなのかな?それだとすごい簡単だけど。 サンプル1を見たら違うらしい。 複数の根を持つ、最小スタイナー木の有向辺版みたいなものか。…

SRM 363 500pt: MirrorNumber

問題概要 デジタル数字で鏡に写しても同じように読める数をmirror numberという(例、101, 1251)。[A,B](A区間にmirror numberはいくつあるか求める問題。 考えたこと 引数をstringにしてるのは何の嫌がらせですか? 返り値intだし全列挙できそう。 半分の桁決…

__builtin_constant_p()

gccのビルトイン関数のひとつに、__builtin_constant_p(value)というものがある。コンパイル時にvalueが定数となっているときに1を返して、0を返す関数らしい。 例えば、 __builtin_constant_p(3); __builtin_constant_p(sin(2.0)); とかは-O0のときですら1…

SRM 364 300pt: Paintball

問題概要 ゲームのスコアを計算する問題。 考えたこと 問題文長すぎ。入力とか出力が非常に面倒くさそう。 適宜コメントを入れながらひたすら実装した。 時間がかかったけど、今はあまり気にしない。

SRM 363 250pt: HandsShaking

問題概要 円卓にN( 考えてたこと JAPLJ Contestでこんな問題見かけた気がする。 あれより遥に簡単だ。ある人に着目して、誰と手を結ぶかで場合分けして再帰でとけば良い。 サクッと実装してサブミット。include無しで書けるとちょっと嬉しい。

SRM 362 500pt: PartialSeries

問題概要 長さN(極値の個数が最小になるような数列のうち辞書順最小なものを求める問題。出てくる数字は0~10。 考えたこと 辞書順最小だからgreedy? 連続してる部分は単調になるのかなあ、よく分からない。 いやいや、15とかどう見てもビットDPだろう。 (直…

SRM 362 250pt: MaximizeSquares

問題概要 2次元格子上にN( 考えたこと 証明は面倒そうだけど、きっとこんな感じで置くのが最善なんだろう(優先度は、赤 -> 青 ->緑)。 後は足し算するだけ。 平方してNを越えない最大の数さえ分かれば良い。 愚直に書く。

SRM 512 512pt: SubFibonacci

問題概要 重複の無い数列S(長さNフィボナッチ数列の部分列を2つ選んで連結する。連結後は昇順になってなくてはならない。連結後の最大の長さを求める問題。 後から考えたこと とりあえずSをソートして分割すればフィボナッチ数列の部分列を1個選ぶ問題に落…