競技プログラミング

Google Code Jam Japan 2011決勝に参加したがTシャツ獲得には戦闘力が遥かに足りなかった件

概要 Google Code Jam Japan 2011の決勝に参加して、自分の力の無さを痛感したので記録しておくことに。 結果 3時間フルで挑んだが、1問も正答を出すことができなかった。 つまり0点。 やった問題 3問(A, B, C)の問題の内容を理解したが、実際に取り組んだの…

Code Jam Japan 2011挑んだ- > かろうじて予選通過

概要 以前から参加を表明していたCode Jam Japan 2011の予選にフルタイム(6時間)挑んだので、提出したコードとかを晒してみる。 結果 23点の493位だった。予選はギリギリ通過することができた。 問題 A small & large パス。 問題 B smallに挑戦したが、時間…

"エラトステネスの篩"の書き方いろいろ - 比較

このエントリーは遥かに途中です。 概要 CodeJamJapan2011の練習問題Bで10^12までの素数求める必要があり、最初に書いたO(n^2)のアルゴリズムでは、とても計算が終わらなかったので、高速に素数を求めるためのアプローチとして有名なエラトステネスの篩とい…

Code Jam Japan2011 練習問題C. 遊園地 (Small) 解いた

概要 また、息抜きがてら、Code Jamの練習問題をしたので、コードを晒してみる. やった問題は、問題C. 遊園地 Bのlargeは未だ放置中。 Pythonスクリプト #!/usr/bin/env python # coding: utf-8 # vim: fileencoding=utf8 import sys import re def read_inp…

Code Jam Japan2011 練習問題B. 数の集合 (Small) 解いた

概要 最近の息抜きであるCode Jam Japan 2011の問題B. 数の集合を台風の足止めされている中、夢中になって解いた(Smallのみ)ので、またスクリプトを晒してみる。 ざっくりと問題説明 連続した範囲[A,B]の整数に対して、素因数分解をして指定された値P以上の…

Code Jam Japan2011 練習問題A. 数珠繋ぎ (Large) 解いた

概要 前回のエントリーの続き。 Code Jam Japan 2011の公開されている練習問題Aの計算量が多くなるようなデータセットの方(Large)を解いたので、またスクリプトを晒してみる。 内容 前回作成したアルゴリズムでは、12時間以上放置しても計算が終わらなかった…

Code Jam Japan2011 練習問題A. 数珠繋ぎ (Small) 解いた

概要 気分転換にCode Jam Japan2011の練習問題A(問題A. 数珠繋ぎ)を解いたので、書いたスクリプトを晒してみる. イメージ ステップごとのイメージが文章を読んでるだけじゃ、わからなかったので、スライド作った。 Code jam japan2011 練習問題A View more p…