闫氏dp分析法(线性dp)AcWing 1015. 摘花生

简介: 闫氏dp分析法(线性dp)AcWing 1015. 摘花生

题目链接

1015. 摘花生 - AcWing题库

一些话

我也不懂什么叫线性dp,和其他dp不知道有什么区别,做的题太少了。

写博客主要是记录下闫氏dp分析法

切入点

地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。


Hello Kitty只能向东或向南走,不能向西或向北走。


问Hello Kitty最多能够摘到多少颗花生。


hk的走法有很多,属于最优解问题,符合dp特征


1≤T≤100

1≤R,C≤100


最多1e2*3,完全够时间,可以dp


流程


// f[i][j],走法的集合,走到i,j的走法

           // 属性是maxn

         

           // 集合划分,最后一个不同的点,f[i][j]可以由上得也可由左得,

           // 上:f[i-1][j] + w[i][j],左:f[i][j-1] + w[i][j];

           // 取二者最大


套路

闫氏dp

ac代码

// f[i][j],走法的集合,走到i,j的走法
            // 属性是所有走法的最大花生
            // 集合划分,最后一个不同的点,f[i][j]可以由上得也可由左得,取二者最大
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 110;
int f[N][N],w[N][N];
int  main(){
    int t;
    cin >> t;
    while(t--){
        int n,m;
        cin >> n >> m;
        for(int i = 1;i <= n;i++){
            for(int j = 1;j <= m;j++){
                cin >> w[i][j];
            }
        }
        for(int i = 1;i <= n;i++){
            for(int j = 1;j <= m;j++){
                f[i][j] = max(f[i-1][j],f[i][j-1]) + w[i][j];
            }
        }cout << f[n][m] << endl;
    }
}
目录
相关文章
|
1月前
|
人工智能
AcWing 274. 移动服务(线性dp)
AcWing 274. 移动服务(线性dp)
14 0
|
1月前
acwing 275 传纸条 (线性dp)
acwing 275 传纸条 (线性dp)
13 0
|
6月前
蓝桥备战--分糖果OJ2928 贪心 分类讨论
蓝桥备战--分糖果OJ2928 贪心 分类讨论
65 0
|
6月前
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
47 0
|
人工智能 算法 测试技术
LeetCode 双周赛 101,DP / 中位数贪心 / 裴蜀定理 / Dijkstra / 最小环
这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈。上周末这场是 LeetCode 第 101 场双周赛,整体有点难度,第 3 题似乎比第 4 题还难一些。
99 0
(闫氏dp分析法)AcWing 2. 01背包问题
(闫氏dp分析法)AcWing 2. 01背包问题
65 0
(数论)蓝桥杯AcWing 1205. 买不到的数目
(数论)蓝桥杯AcWing 1205. 买不到的数目
46 0
|
算法
线性DP(一)
复习acwing算法基础课的内容,本篇为讲解基础算法:动态规划——线性DP,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
98 0
线性DP(一)
|
人工智能 算法
线性DP(三)
复习acwing算法基础课的内容,本篇为讲解基础算法:动态规划——线性DP,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
93 0
线性DP(三)