Procs
proc solve_01knapsack_meet_in_middle(items: openArray[tuple[v: int, w: int]]; W: int): int {....raises: [], tags: [].}
- sum(w_i) <= Wとなるようなitemの取り方で、vが最大のものを選ぶ O(N 2^{N/2}) Source Edit
proc solve_01knapsack_NV(items: openArray[tuple[v: int, w: int]]; W: int): int {. ...raises: [], tags: [].}
- sum(w_i) <= Wとなるようなitemの取り方で、vが最大のものを選ぶ O(N sum(v_i)) Source Edit
proc solve_01knapsack_NW(items: openArray[tuple[v: int, w: int]]; W: int): int {. ...raises: [], tags: [].}
- sum(w_i) <= Wとなるようなitemの取り方で、vが最大のものを選ぶ O(NW) Source Edit
proc solve_BoundedKnapsack(items: openArray[tuple[v: int, w: int, m: int]]; W: int): int {....raises: [], tags: [].}
- Source Edit
proc solve_UBknapsack_NW(items: openArray[tuple[v: int, w: int]]; W: int): int {. ...raises: [], tags: [].}
- 各アイテムを何回でも選んでいいナップサック問題 O(NW) Source Edit