博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LCIS
阅读量:5224 次
发布时间:2019-06-14

本文共 861 字,大约阅读时间需要 2 分钟。

传送门

分析:这道题依然是动态规划,实际上是经典问题的变形,因为要求值必须连续,所以我们应该采取一些特殊的手段。

    我们设f[i]表示f[i]为第一个序列中以高度i为结尾的最长连续递增子序列,使用g[i] 表示第二个序列的所以每读入一个数

    所以我们有f[i] = f[i-1] + 1;g[i]类似

然后我们考虑统计答案,易得,ans = max{min{f[i],g[i]}}

因为要求的是公共子序列,所以不能选择两个序列中长的那个,也就是说,我们一定有较短的序列出现在另一个序列中。

    所以我们就可以统计答案了。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 typedef long long ll; 8 inline void read(int &x){ 9 x=0;char ch;bool flag = false;10 while(ch=getchar(),ch<'!');if(ch == '-') ch=getchar(),flag = true;11 while(x=10*x+ch-'0',ch=getchar(),ch>'!');if(flag) x=-x;12 }13 inline int cat_max(const int &a,const int &b){
return a>b ? a:b;}14 inline int cat_min(const int &a,const int &b){
return a

 

转载于:https://www.cnblogs.com/Skyminer/p/6021630.html

你可能感兴趣的文章
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
MongoDB的数据库、集合的基本操作
查看>>
ajax向后台传递数组
查看>>
疯狂JAVA16课之对象与内存控制
查看>>
[转载]树、森林和二叉树的转换
查看>>
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>
软件测试-----Graph Coverage作业
查看>>
django ORM创建数据库方法
查看>>
创建Oracle synonym 详解
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>