エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
ナップサック問題という大昔からある有名な問題があります。怪盗が重量制限のあるナップサックにできる... ナップサック問題という大昔からある有名な問題があります。怪盗が重量制限のあるナップサックにできるだけ物を詰め込んで、詰め込んだ価値を最大化する問題です。 そのための、教科書的な解法は、動的計画法を使うことです。プログラミングコンテスト(IOIやICPCなど)では非常に良く出るアルゴリズムです。 まずは、教科書的なボトムアップの解法。Scalaで書いています。 object KnapsackBottomUp extends Application { val goods = List((3,1), (4,2), (5,3)) val n = Integer.parseInt(Console.readLine) val solved = new Array[int](n + 1) for(weight <- 1 to n) { solved(weight) = goods.map( g =>