C++ 二维线性DP

二维线性DP 框架代码见下

cpp 复制代码
#include <iostream>
using namespace std;

#define maxn 110

int mat[maxn][maxn];
int dp[maxn][maxn];

int main()
{
  int n;
  cin >> n;
  for(int i=0; i<n; ++i){
    for(int j=0; j<=i; ++j){
      cin >> mat[i][j];
    }
  }
  dp[0][0] = mat[0][0];
  for(int i=0; i<n; ++i){
    dp[i][i] = mat[i][i] + dp[i-1][i-1];
    dp[i][0] = mat[i][0] + dp[i-1][0];
    for(int j=1; j<i; ++j){
      dp[i][j] = mat[i][j] + max(dp[i-1][j-1], dp[i-1][j]);
    }
  }
  int ans = dp[n-1][0];
  for(int i=1; i<n; ++i){
    ans = max(ans, dp[n-1][i]);
  }
  cout << ans << endl;
  // 请在此输入您的代码
  return 0;
}

代码练习1 对应蓝桥云课 云神的路径 代码见下

cpp 复制代码
#include <iostream>
using namespace std;

#define mod 1000000007
#define maxn 1001
char s[maxn][maxn];
int dp[maxn][maxn];


int main()
{
  int n;
  cin >> n;

  for(int i=0; i<n; ++i){
    cin >> s[i];
  }

  for(int i=0; i<n; ++i){
    for(int j=0; j<n; ++j){
      if(s[i][j] == '*'){
        dp[i][j] = 0;
      }else{
        if(i==0 && j ==0){
          dp[i][j] = 1;
        }else if(i == 0){ // 从左边过来
          dp[i][j] = dp[i][j-1];
        }else if(j == 0){ // 从上边过来
          dp[i][j] = dp[i-1][j];
        }else{
          dp[i][j] = (dp[i][j-1]+dp[i-1][j]) % mod;
        }
      }
    }
  }
  cout << dp[n-1][n-1] << endl;
  // 请在此输入您的代码
  return 0;
}

代码 2 对应蓝桥云课 激光样式 代码见下

cpp 复制代码
#include <iostream>
using namespace std;

int dp[31][2];

int main()
{
  dp[1][0] = 1;
  dp[1][1] = 1;
  for(int i=2; i<=30; ++i){
    dp[i][0] = dp[i-1][0] + dp[i-1][1];
    dp[i][1] = dp[i-1][0];

  }
  cout << dp[30][0] + dp[30][1] << endl;
  // 请在此输入您的代码
  return 0;
}
相关推荐
倒头就睡的小比特6 天前
算法竞赛C++常用的STL
c++·算法
weilx12346 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!6 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼6 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛6 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车6 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光6 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark6 天前
大规模并行计算中的负载均衡算法研究4
算法
吞下星星的少年·-·6 天前
C++ 萌新语法入门篇
c++·算法比赛
Because_of_Her16 天前
并查集-听课笔记
笔记·算法·并查集