简单dp求助
  • 板块学术版
  • 楼主11514zbs
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/7/8 21:44
  • 上次更新2024/7/9 08:52:05
查看原帖
简单dp求助
1125106
11514zbs楼主2024/7/8 21:44
    for (int i = 0; i < r; i++)
    {
        for (int j = 0; j < c; j++)
        {
            if (a[i - 1][j] < a[i][j])
            {
                dp[i][j] = max(dp[i][j], dp[i - 1][j] + 1);
            }
            if (a[i][j - 1] < a[i][j])
            {
                dp[i][j] = max(dp[i][j], dp[i][j - 1] + 1);
            }
            if (a[i][j + 1] < a[i][j])
            {
                dp[i][j] = max(dp[i][j], dp[i][j + 1] + 1);
            }
            if (a[i + 1][j] < a[i][j])
            {
                dp[i][j] = max(dp[i][j], dp[i + 1][j] + 1);
            }
            if (dp[i][j] == 0)
            {
                dp[i][j] = 1;
            }
        }
    }

像这种转移方程式会需要 max(dp[i][j], dp[i][j + 1] + 1); 怎么解决,不然的话就只能往下或右走了。

QwQ求dalao解答

2024/7/8 21:44
加载中...