x1∈X1,...,xn∈Xn
min[x1,x2,x3,...,xn] f1(x1,x2)+f2(x2,x3)+f3(x3,x4)+...+f[n-1](x[n-1],xn)
= min[xn] min[x[n-1]](...min[x3](min[x2]( (min[x1] f1(x1,x2) )+f2(x2,x3) )+f3(x3,x4) )...+f(x[n-1],xn)
左辺をそのまま計算した時の時間計算量:|X1|*|X2|*...*|Xn|
右辺を効率よく計算した時の時間計算量:|X1|+|X2|+...+|Xn|