《算法竞赛进阶指南》0x00 汉诺塔四塔问题 递推关系

Posted randy-lo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《算法竞赛进阶指南》0x00 汉诺塔四塔问题 递推关系相关的知识,希望对你有一定的参考价值。

题目链接:http://poj.org/problem?id=1958

代码:

#include<iostream>
#include<cstring>
using namespace std;
#define maxn 100 
typedef long long ll;
ll d[maxn],f[maxn];
int main(){
    memset(f,0x3f,sizeof(f));
    d[1]=1;
    f[1]=1;
    int n = 12;
    for(int i=2;i<=n;i++)d[i]=d[i-1]*2+1;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<i;j++){
            f[i]=min(f[i],2*f[j]+d[i-j]);
        }
    }
    for(int i=1;i<=n;i++)cout<<f[i]<<endl;
} 

 

以上是关于《算法竞赛进阶指南》0x00 汉诺塔四塔问题 递推关系的主要内容,如果未能解决你的问题,请参考以下文章

《算法竞赛进阶指南》-AcWing-96. 奇怪的汉诺塔-题解

算法竞赛进阶指南基本算法:递推与递归

算法竞赛进阶指南 0x00

poj1958-汉诺四塔问题(三种方法)

算法竞赛进阶指南做题记录

奇怪的汉诺塔