闫氏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;
    }
}
目录
相关文章
|
6月前
|
存储
【题型总结】数位dp(一)
【题型总结】数位dp(一)
78 0
|
1月前
acwing 275 传纸条 (线性dp)
acwing 275 传纸条 (线性dp)
13 0
|
1月前
|
人工智能
AcWing 274. 移动服务(线性dp)
AcWing 274. 移动服务(线性dp)
14 0
|
5月前
|
算法
【洛谷 P1003】[NOIP2011 提高组] 铺地毯 题解(数组+贪心算法)
**NOIP2011 提高组问题:铺地毯** 在第一象限的颁奖典礼场地,有$n$张地毯按编号顺序铺设。需找出覆盖特定点$(x, y)$的最上方地毯编号。输入包括地毯坐标和点坐标,输出地毯编号或-1表示未覆盖。 样例:给定3张地毯,点$(2,2)$被第3张地毯覆盖,输出3;另一样例点$(4,5)$未被覆盖,输出-1。 $30\%$数据$n\leq2$,$50\%$数据坐标$\leq100$,$100\%$数据$n\leq10^4$,坐标$\leq10^5$。 解决方法:从下到上遍历地毯,更新覆盖点的地毯编号。 AC代码略。
50 0
|
6月前
【编程题-错题集】最长回文子序列(动态规划 - 区间dp)
【编程题-错题集】最长回文子序列(动态规划 - 区间dp)
|
6月前
|
存储 网络架构
【题型总结】数位dp(二)
【题型总结】数位dp(二)
74 0
【动态规划入门】动态规划思路五部曲_斐波那契_爬楼梯_最小花费爬楼梯
【动态规划入门】动态规划思路五部曲_斐波那契_爬楼梯_最小花费爬楼梯
70 0
(闫氏dp分析法)AcWing 2. 01背包问题
(闫氏dp分析法)AcWing 2. 01背包问题
65 0
|
算法
背包DP——背包问题
背包DP——背包问题
123 0
背包DP——背包问题