HDU 5904 - LCIS (BestCoder Round #87)
2024-10-18 21:18:33
HDU 5904 - LCIS [ DP ] BestCoder Round #87
题意:
给定两个序列,求它们的最长公共递增子序列的长度, 并且这个子序列的值是连续的
分析:
状态转移方程式: dp[a[i]] = max(dp[a[i]], dp[a[i]-1] + 1);
发现其实可以简化为 dp[a[i]] = dp[a[i]-1] + 1;因为计算过程中dp[a[i]]不会降低
对两个序列都求一遍,然后取两者最小值的最大值
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
const int MAXM = ;
const int MAXN = ;
int t, n, m;
int a[MAXN], b[MAXN];
int dp1[MAXM], dp2[MAXM];
int main()
{
scanf("%d", &t);
while (t--)
{
scanf("%d%d", &n, &m);
memset(dp1, , sizeof(dp1));
memset(dp2, , sizeof(dp2));
int top = ;
for (int i = ; i <= n; i++)
{
scanf("%d", &a[i]);
dp1[a[i]] = dp1[a[i]-] + ;
top = max(top, a[i]);
}
for (int i = ; i <= m; i++)
{
scanf("%d", &b[i]);
dp2[b[i]] = dp2[b[i]-] + ;
top = max(top, b[i]);
}
int ans = ;
for (int i = ; i <= top; i++) ans = max(ans, min(dp1[i], dp2[i]));
printf("%d\n", ans);
}
}
最新文章
- CentOS7 Java安装
- WCF初探-5:WCF消息交换模式之双工通讯(Duplex)
- 精通 Angular JS 第一天——Angular 之禅
- jQueryEasyUI DateBox的基本使用
- 关于HTTP协议的学习
- 和阿文一起学H5-- H5排版八大套路
- 在.NET连接MySQL以及封装好的MySQLHelper.cs
- StatsD!次世代系统监控的核心
- VC实现图片拖拽及动画
- linux 虚拟文件系统----------Virtual File System VFSkky
- 【GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣】玛萨玛索男装网购商城
- uploadify.js
- spring使用jdbcTemplate和jdbcdaosupport和namedparameter
- git合并别的分支某次提交或合并
- Oracle子查询中any、some、all之间的区别
- java 静态导入 小结
- [BZOJ1596]电话网络
- SQL语句害死人
- 检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005"; 《终结篇》
- 【转】HTTP学习---TCP和UDP协议的区别与应用