エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
『ナップサック問題 個数制限なし 自分用メモ』
i番目の物の重さがw(i) 価値がv(i)とする。 i番目までで重さjまででの最大になるように選んだ時の合計価... i番目の物の重さがw(i) 価値がv(i)とする。 i番目までで重さjまででの最大になるように選んだ時の合計価値をdp[i][j]とする。 dp[i+1][j]はi+1番目をいくつか使った時と全く使わない時のうちの最大値なのでkを1以上でj-k*wが0以上を満たす自然数として dp[i+1][j]=max( dp[i][j], dp[i][j-k*w(i+1)]+k*v(i+1) ) ここで実は dp[i+1][j-w(i+1)]=max( dp[i][j-w(i+1)] , dp[i][j-w(i+1)-q*w(i+1)]+q*v(i+1) ) である。ここで右辺に既視感があることに気づく。(dp[i+1][j-w(i+1)]は第一式の右辺の dp[i][j-k*w(i+1)]+k*v(i+1)よりv(i+1)小さいのと同じじゃん) つまり第一式のmax( dp[i][j-k*w(i+1