题意

其实就是一条二维的LIS,但是还是做的一愣一愣的,多努力。
考虑$dp[i][j]$为从(i,j)出发的二维LIS的最大值,那么$dp[i][j]=max\{dp[i−di[k]][j−dj[k]]\}+1$,取dp值时要求严格递减。否则值为1。

分析

#include <bits/stdc++.h>
#define MP make_pair
#define PB push_back
#define fi first
#define se second
#define ZERO(x) memset((x), 0, sizeof(x))
#define ALL(x) (x).begin(),(x).end()
#define rep(i, a, b) for (int i = (a); i <= (b); ++i)
#define per(i, a, b) for (int i = (a); i >= (b); --i)
#define QUICKIO \
ios::sync_with_stdio(false); \
cin.tie(0); \
cout.tie(0);
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pi = pair<int, int>;
using pii = pair<int, pi>; template<typename T>
T
read()
{
T tmp; cin>>tmp;
return tmp;
} int arr[105][105],dp[105][105],n,m;
const int dx[]={0,1,0,-1},
dy[]={1,0,-1,0}; int
solve(int x,int y)
{
//cout<<x<<" "<<y<<endl;
if(dp[x][y]!=-1) return dp[x][y];
else
{
int tmpans=1;
rep(i,0,3)
{
int tx=x+dx[i],
ty=y+dy[i];
if(tx>=1 && tx<=n && ty>=1 && ty<=m
&& arr[tx][ty]<arr[x][y])
{
tmpans=max(tmpans,solve(tx,ty)+1);
}
}
return dp[x][y]=tmpans;
}
} int
main()
{
int T; cin>>T;
while(T--)
{
string p; cin>>p>>n>>m;
rep(i, 1, n)
rep(j, 1, m)
{ cin>>arr[i][j]; }
memset(dp,-1,sizeof(dp));
int ans=-1;
rep(i, 1, n)
rep(j, 1, m)
{
if(dp[i][j]==-1)
dp[i][j]=solve(i,j);
ans=max(ans,dp[i][j]);
}
cout<<p<<": "<<ans<<endl; }
return 0;
}

最新文章

  1. Git安装与配置
  2. python 类属性与方法
  3. 下拉框的选择跳转事件(jqure)
  4. 日志文件切割服务logrotate配置及crontab定时任务的使用
  5. Git之不明觉厉11-利其器source tree
  6. C语言的ELF文件格式学习
  7. maven混淆Java代码
  8. jquery与js的区别与基础操作
  9. [补档]暑假集训D4总结
  10. 【转】如何使用Git上传本地项目到github?(mac版)
  11. 数据库面试题目- ORACLE
  12. vue中父组件调用子组件函数
  13. Gitlab管理用户、组、权限(一)
  14. js基础-直接量与变量
  15. ES6的新特性(20)—— Module 的加载实现
  16. POJ 2484(对称博弈)
  17. 使用百度ai接口加图灵机器人完成简单web版语音对话
  18. Linq 使用注意
  19. 崩坏3mmd中的渲染技术研究
  20. Android性能优化的方方面面

热门文章

  1. Python常用库之一:Numpy
  2. 日期插件kalendae,遇到的一些问题
  3. byte转换字符串(string)+字符串转换byte
  4. Java参数传递对象引用传递失效
  5. Web—04-详解HTML5与CSS3
  6. 『ACM C++』 PTA 天梯赛练习集L1 | 034-035
  7. 『C++』Temp_2018_12_06
  8. Zabbix——部署(DB与web分离)
  9. Java中泛型的运用实例
  10. 基于CLGeocoder - 地理编码