zoukankan      html  css  js  c++  java
  • 蓝桥杯 ACM基础 动态规划(DP) 求最X系列问题的泛型模板

    首先介绍一下,什么叫做最X问题。

    比如一个人走在一条十字路口,然后走过一条十字路口后又遇见了一条十字路口,如此循环,在知道了走过十字路口的个数以及每条路线的长度后,求解从起点到终点最短(X)路径。

    可以参考蚂蚁爬楼梯 :蚂蚁爬楼梯代码

    #include<iostream>
    using namespace std;
    int M=1001;
    int n;
    int a[M][M];
    
    int func()
    {
        int i,j;
        for(i=n-1;i>=1;i--)//从底部开始(自底向上)
            for(j=1;j<=i;j++)
            {
                if(a[i+1][j]>a[i+1][j+1])//此部分想象不到的话,可以画出二维数组帮助理解
                a[i][j]+=a[i+1][j];
                else a[i][j]+=a[i+1][j+1];
            }
            return  a[1][1];//该项一直被覆盖
    }
    
    int main(){
    
        int i,j,max;
        cin>>n;
        n+=n
        for(i=1;i<=n;i++)
            for(j=1;j<=i;j++)
                cin>>a[i][j];
        cout<<func()<<endl; 
        return 0;
    } 
    
  • 相关阅读:
    背包问题
    阶乘尾数0的个数
    欧拉筛找素数
    威佐夫博弈
    三角形面积
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/AmosAlbert/p/12832320.html
Copyright © 2011-2022 走看看