DP E
しかし重量を定義域とするDPをするには、制限重量の空間が広すぎる
DP_E
重量の空間が10^11
価値の空間が10^5
DP_Dでは重量を定義域として価値の関数をつくり、最大値を求めた この問題ではそのアプローチでは定義域が広すぎる
そこで逆に価値を定義域として重量の関数を作る
そして定義域の中で重量が制約を満たす最大の添字を見つける
https://gyazo.com/8f6820c6fa358d709bd62c806b3166fb
code:python
def solve(N, W, WV):
MAX_VALUE = N * 10 ** 3
weights = INF * (MAX_VALUE + 1) for i in range(N):
for j in range(MAX_VALUE - value + 1):
weights = next_weights
for i in range(MAX_VALUE, -1, -1):
return i