记忆化搜索一例

news/2025/5/16 3:57:53/文章来源:https://www.cnblogs.com/Arc-ux/p/18405337

洛谷P1434。本题边界处理很有趣

#include<bits/stdc++.h>
using namespace std;
int f[101][101];int n[102][102];int r,c;
int sear(int n0,int m0)
{if(n0==0||m0==0)return 0;if(n0==r+1||m0==c+1)return 0;if(f[n0][m0]!=-1)return f[n0][m0];//int max=0;if(n[n0][m0]>n[n0-1][m0])f[n0][m0]=1+sear(n0-1,m0);if(n[n0][m0]>n[n0+1][m0])f[n0][m0]=1+sear(n0+1,m0)>f[n0][m0]?1+sear(n0+1,m0):f[n0][m0];if(n[n0][m0]>n[n0][m0-1])f[n0][m0]=1+sear(n0,m0-1)>f[n0][m0]?1+sear(n0,m0-1):f[n0][m0];if(n[n0][m0]>n[n0][m0+1])f[n0][m0]=1+sear(n0,m0+1)>f[n0][m0]?1+sear(n0,m0+1):f[n0][m0];f[n0][m0]=f[n0][m0]>1?f[n0][m0]:1;return f[n0][m0];
}
int main()
{cin>>r>>c;for(int i=1;i<=r;i++)for(int j=1;j<=c;j++){cin>>n[i][j];}memset(f,-1,sizeof(f));int max=0;for(int i=1;i<=r;i++)for(int j=1;j<=c;j++){int temp=sear(i,j);if(temp>max)max=temp;}cout<<max;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794667.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9月9日总结

今天第一天上课,了解了算法与数据结构,进行了开学测试,对于用java语言进行编程还是不会不熟练,要加强练习

The 3rd Universal Cup. Stage 8: Cangqian

题解: https://files.cnblogs.com/files/clrs97/ZJCPC24_Tutorial.pdfCode: A. Bingo#include <bits/stdc++.h> using namespace std; string n; int m; typedef long long ll; ll sum[1000005]; int pw[1000005]; bool all[1000005]; int sol[1000020]; void solv() {…

动态规划的空间压缩问题

以洛谷P1048为例。本题较简单,还有一种压缩需要从后往前计算,遇到时补充。 #include<bits/stdc++.h> using namespace std;int T,M;int f[2][1001];int t[101];int v[101]; void bp() {for(int i=1;i<=M;i++)for(int j=1;j<=T;j++){if(j-t[i]>=0)f[i%2][j]=f[…

题解:P6089 [JSOI2015] 非诚勿扰

分析 首先我们要求出对于第 \(i\) 位女性,她选择每个列表中的男性的概率是多少。 第一轮选择第一位的概率为 \(p\),选择第二位的概率为 \(p(1-p)\),以此类推。 显然第一轮选择第 \(k\) 位的概率为 \(p(1-p)^{k-1}\)。 假设列表中有 \(n\) 名男性,那么第二轮选择第一位的概率…

题解:P3968 [TJOI2014] 电源插排

题意 维护一个 \(01\) 串,初始均为 \(0\),支持:单点将 \(1\) 修改为 \(0\)。 查询区间中 \(1\) 的个数。 查询最长且最靠右的连续 \(0\) 段的靠右的中点,并将其改为 \(1\)。分析 第一个操作和第二个操作显然使用动态开点线段树维护。 我们只需要解决第三个操作。 我们用平衡…

9月9日 总结

今天第一次上了数据结构这门课,发现数据结构是由数据结构和算法组成的,主要我们需要学习的事算法相关的知识,数据结构我们简单的已经过完了,接下来一学期我们要进行学习算法方面的相关知识; 下午,果不其然我们进行了开学JAVA考试,是这样的,你没有听错!开学考试,虽然有…

9.9随笔

这里是9月9日的随笔。 今天久违地考了一次试——啥也不会。 不过倒也并不是没有获得什么,起码我被逼的学会了java编程,在此之前,我的基础知识全忘了。好在捡起来了,不然就丢脸丢大的。 hhh

13_罗马数字转整数

13_罗马数字转整数 【问题描述】 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000例如, 罗马数字 2 写做 II ,即为两…