7을 팰린드롬 파티션으로 표현하면 아래와 같다.
7 1+ 5 +1 2+ 3 +2 1+1+ 3 +1+1 3+ 1 +3 1+1+1+ 1 +1+1+1
가운데를 축으로 보고, 양쪽으로 갈라지는 수에 대해 다시 재귀적으로 그것들을 축으로 센다.
아래와 같은 점화식으로 표현 가능하다.
$$ f(n) = 1 + f(0) + \dots + f(n/2) $$
1은 자기 자신을 나타내는 가짓 수이기 때문에 매번의 분열마다 더해준다.
7 1+ 5 +1 2+ 3 +2 1+1+ 3 +1+1 3+ 1 +3 1+1+1+ 1 +1+1+1
dp(i, k) = i번 노드까지 k의 비용으로 갔을 때의 최소 시간주어진 비용 내에서 N번 노드까지 간 최소 시간을 구하면 된다.
// 4x2 크기의 평면1인 칸으로 가는 경우에는 벽을 부숴야하므로 가중치가 1인 간선이 있다고 생각하면 된다. (그 외에는 가중치가 0인 간선)
0123
4567