동적 프로그래밍을 사용하여 배낭 문제를 해결하기위한 일반적인 알고리즘이 있습니다. 하지만 W = 750000000에서는 작동하지 않습니다. 잘못된 할당 오류가 있기 때문입니다. 어떤 아이디어를 어떻게 내 W의 가치에 대해이 문제를 해결할 수 있을까요?동적 프로그래밍을 사용하는 배낭
int n=this->items.size();
std::vector<std::vector<uint64_t>> dps(this->W + 1, std::vector<uint64_t>(n + 1, 0));
for (int j = 1; j <= n; j++)
for (int k = 1; k <= this->W; k++) {
if (this->items[j - 1]->wts <= k)
dps[k][j] = std::max(dps[k][j - 1], dps[k - this->items[j - 1]->wts][j - 1] + this->items[j - 1]->cost);
else
dps[k][j] = dps[k][j - 1];
}
@George 죄송합니다. C++ – Kayrosik
@FantasticMrFox done – Kayrosik