龙脉宝藏破解攻略:如何计算最小步数
修改于01/072667 浏览鬼谷攻略
大家不一定想看过程,所以先说结论:
首先找到不会影响其他层的那一层(也可能不止一层):

不会影响其他层
然后将这一层标号为1(如果有不止一层可以标号为1,2…)
然后找出会直接影响这些层的层(同样可能不止一层):

会影响上一层的层
接着上面的标号继续给这些层标号
继续寻找会影响这些层的层,然后继续标号,直到所有层都被标号
现在开始转,转的时候从标号最大的层开始。
以下是严格的数学证明过程:
假设只有一层不会影响其他层(多层的情况类似),则由于本层不会影响其他层,总体最小步数等于其他层全部转好的最小步数加上转好这一层的步数,由于前一个子问题与原问题有着相同的结构,可以用分治或动态规划的方法解决问题,每一次从问题中减去一层,直到只剩最后一层,由于问题具有最优子结构性质,所以最终得到的步骤是步数最小的