DP談義
参考:
プログラミングコンテストでの動的計画法:
http://www.slideshare.net/iwiwi/ss-3578511
続きを読む
- masashinakata
- 2074
- 0
- 1
- 0
not
@not_522
例えばグリットの最短経路数の場合、「どこにいるか」が状態で「どこから来るか」が遷移であることを見抜けば、dp[i+1][j+1]=dp[i+1][j]+dp[i][j+1]という式は自然と出てくる
2014-10-13 10:39:43
しおしおた
@shioshiota
ダイクストラもそうだけど、状態が直感的だと理解しやすいよね(作られるグラフが、ノードがどの街にいるかで、道がエッジだと、直感的だと思う。
2014-10-13 10:41:42
not
@not_522
0-1ナップサック問題の場合、「何個目で重さがどれだけ」が状態になって「入れるか入れないか」が遷移になるので、dp[i+1][j]=max(dp[i][j],dp[i][j-w])になる
2014-10-13 10:41:57
not
@not_522
DPの計算量は基本的にO(状態×遷移)になっていて、遷移のオーダーは簡単にわかることが多いので、うまい状態の持ち方を見つけるゲームになる
2014-10-13 10:43:36
紙ぺーぱー
@camypaper
DPの解説記事は漸化式だけが解説に残されること多いんだけど、解けない人はその漸化式をどのように導出したのかに至る過程を含めて解説されないとわからないんだよなあ
2014-10-13 10:50:48