Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第2回 早稲田大学プログラミングコンテスト  B: 雨上がり	  keyword: 貪欲法、動的計画法
問題概要	•  一本に続いた道と、途中に水たまりがいくつかあります。•  主人公は「一歩」or「二歩」or「三歩」前に進めます。•  なるだけ水たまりを踏まないようにゴールまで行きたいです。•  最適な方法で移動した時、水たまりを踏む数の最小数...
制約	•  3 <= 道路長 <= 100•  スタートとゴールは水たまりではない
解法1 : 貪欲法	•  「一歩先」「二歩先」「三歩先」のうちどれかが水たまりでない    •  そこに進めばOK•  次が全て水たまりなら   •  後続の水たまりを回避したいため、必ず三歩進む   •  なるべく前に進んだほうがお得だから。
解法2 : 動的計画法	•  現在のマスへは、一つ〜三つ前のマスからしか到達できない•  位置 p まで最適に移動してくれば、 その先の最適な移動方法はこれまでの移動方法によらない。•  なので、位置だけを状態に持てばよく、次の漸化式が成立• ...
統計	•  First AC : uwi (03:08)•  正解数 : 177   •  通した人(/205) : 86%   •  ACだった解答(/378) : 47%
Upcoming SlideShare
Loading in …5
×

WUPC2nd B問題

448 views

Published on

第2回 早稲田大学プログラミングコンテストのB問題 : 雨上がり の解説スライドです。

Published in: Technology
  • Login to see the comments

WUPC2nd B問題

  1. 1. 第2回 早稲田大学プログラミングコンテスト B: 雨上がり keyword: 貪欲法、動的計画法
  2. 2. 問題概要 •  一本に続いた道と、途中に水たまりがいくつかあります。•  主人公は「一歩」or「二歩」or「三歩」前に進めます。•  なるだけ水たまりを踏まないようにゴールまで行きたいです。•  最適な方法で移動した時、水たまりを踏む数の最小数は?スタート ゴール : 普通の道路 : 水たまり
  3. 3. 制約 •  3 <= 道路長 <= 100•  スタートとゴールは水たまりではない
  4. 4. 解法1 : 貪欲法 •  「一歩先」「二歩先」「三歩先」のうちどれかが水たまりでない •  そこに進めばOK•  次が全て水たまりなら •  後続の水たまりを回避したいため、必ず三歩進む •  なるべく前に進んだほうがお得だから。
  5. 5. 解法2 : 動的計画法 •  現在のマスへは、一つ〜三つ前のマスからしか到達できない•  位置 p まで最適に移動してくれば、 その先の最適な移動方法はこれまでの移動方法によらない。•  なので、位置だけを状態に持てばよく、次の漸化式が成立•  X[0] = 0•  X[p] = min(X[p-1], X[p-2], X[p-3]) + R[p] •  R[p] : 位置 p が水たまりなら 1 、そうでないなら 0
  6. 6. 統計 •  First AC : uwi (03:08)•  正解数 : 177 •  通した人(/205) : 86% •  ACだった解答(/378) : 47%

×