def test_knapsack_solve(self): dp = Library.DP2DOptimizer(4, 8, [4, 5, 2, 8], [2, 2, 1, 3]) res = dp.solve(dp.expr_knapsack)[8][4] self.assertEqual(res, 21) dp = Library.DP2DOptimizer(2, 20, [5, 4], [9, 10]) res = dp.solve(dp.expr_knapsack)[20][2] self.assertEqual(res, 10)
def builder(n: int): return Library.DP2DOptimizer( values_len, n, [1 for _ in range(values_len)], values, initializer=int(10e5)).fill_0_idx_with(0)