プログラミングコンテスト勉強会
Last modified: Tue May 29 00:14:22 2007 JST
プログラミングコンテスト勉強会を開くことにしました.
勉強会の経過と予定
- 2007年4月16日: 顔合せ
- 2007年4月26日:
Valladolid Programming Contest Set,
Vol.1,
No.100, The 3 n + 1 problem
- 2007年5月 8日:
2004年国内予選 問題A 「Hanafuda Shuffle」
i |-> (i+c)%(p-1+c) (when i < p-1+c)で
最後から逆に計算 (by 森君,丹生君)
- 2007年5月22日:
2005年国内予選 問題A 「Ohgas' Fortune」,
2006年国内予選 問題A 「ディリクレの算術級数定理」
- 2007年5月29日:
Valladolid Programming Contest Set,
Vol.1,
No.109, SCUD Busters
参考資料: 凸包を求めるアルゴリズム,
凸包の内部かどうかの判定,多角形の面積
参加者の成績(?)
online-judge.uva.es登録・提出の方法
登録(register)の方法
- 左メニューの「Register」をクリック
- 「CLICK HERE FOR REGISTER NOW!」をクリック
- 必要な項目に記入して,「Go!」をクリック
- ID が表示されるのでメモしておく.
提出(submit)の方法
- 左メニューの「Submit your code」をクリック
- 問題番号,ID (後の英字部分も含めて)を記入
- プログラミング言語の種類を選択
- アップロードするプログラムを選択
- 「Submit program」をクリック
- 「this page」
と書かれているリンクをクリックして状態(status)を確認
- 「Accepted」ならOK!
過去の勉強会
- 1回目: 2002年4月26日(金)4時限 自然科学研究科 新棟7階のセミナー室
課題問題:
Valladolid Programming Contest Set
Vol.1
No.100
The 3 n + 1 problem
20名くらい参加
- Collatzの問題あるいは角谷の問題として有名
- "between i and j"で i > j の場合に注意
(問題を良く見るとその部分に下線が引いてある...)
- 一度求めたcycle lengthを表に置いておくと速くなるはず
(速くする必要はないけど)
- 自然数kを固定して,
2kで割った余りrについて,
2kq+rがどう変換されるかの表を作っておく方法もある.
たとえばk=2として,以下の表を作っておく(q>0として).
- 4q+0 → q (2ステップ)
- 4q+1 → 3q+1 (3ステップ)
- 4q+2 → 3q+2 (3ステップ)
- 4q+3 → 9q+8 (4ステップ)
q=0の表も必要.
- 解答例:
C (k=12として表を作成.CPU時間0秒!),
Java
- 解答例は
The Online Judge Answersの最後にもあります.
- 2回目: 2002年5月10日(金)4時限 自然科学研究科 新棟7階のセミナー室
課題問題:
Valladolid Programming Contest Set
Vol.1
No.101
The Blocks Problem
15名くらい参加
- a と b が同じstackにある時は,何もしない点に注意
- box[a].above, box[a].below とかで,
箱 a の上下の箱を指すようにすると楽
(by 江口君)
- 3回目: 2002年5月31日(金)4時限 自然科学研究科 新棟7階のセミナー室
課題問題:
Valladolid Programming Contest Set
Vol.1
No.102
Ecological Bin Packing
課題問題:
Valladolid Programming Contest Set
Vol.1
No.103
Stacking Boxes
- 4回目: 2002年6月7日(金)4時限 自然科学研究科 新棟7階のセミナー室
課題問題:
Valladolid Programming Contest Set
Vol.1
No.104
Arbitrage
課題問題:
Valladolid Programming Contest Set
Vol.1
No.105
The Skyline Problem
- 5回目: 2002年7月12日(金)4時限 自然科学研究科 新棟7階のセミナー室
課題問題:
Valladolid Programming Contest Set
Vol.1
No.106
Fermat vs. Pythagoras
- a>b>0,aとbは互いに素,aとbの偶奇は異なる,として,
x=a2-b2,
y=2ab,
z=a2+b2 とすれば,
x, y, zは互いに素なピタゴラス数になる.
This page has been accessed
since April 17 2007.
Naoyuki Tamura