문제의 각 교단의와는 다음과 같습니다동전 변화 만 1 동전
pair<bool, bitmask>[n][A] memo;
// memo[i][j].first will be true if its possible to
// use up to i-th denomination for amt j
// memo[i][j].second will contain info on which
// denominations are used
for i = 0 to n:
for j = 1 to A:
if (i==j): C[i][j] = {true, {i}}
else if (C[i-1][j].first == true): C[i][j] = C[i-1][j]]
else if (...see recurrance relation...):
C[i][j] = {true, C[i-1][j]+{denom[i]}}
else: C[i][j] = false
가 지금까지 정확 :
알고리즘은 내가 좋아하는 무언가가되어 함께했다? 그러나 나는 내 시도가 어떻게 보이는지 내가 수도 증거의 정확성을 ... 잘 모르겠습니다 경우 단지 1의 경우
... 영어로 코드를 재 작성과 같은 : 내가 해결하기 위해 우리는 항상 교단의 한 동전을 사용할 수 있습니다 amt = i. 첫 번째 다른 경우 : 현재 금액을 사용하는 없이 amt에 대한 솔루션이있는 경우 해당 솔루션을 다시 사용할 수 있습니다. 다른 2 들어있는 경우 : 표 크기 nA의이다 : 현재의 명칭을 사용할 수있는 경우 (< = AMT) 및 교단 복잡성에 대한
은 ... 우리가 할 수있는, 사용되지 않습니다. 그리고 각 세포는 O (1) 시간을 채 웁니다. 누군가가 올바른 방향으로 나를 가리킬 수 있습니까?