AcWing 1012. dp : 最长上升子序列4: 友好城市
原题链接
简单
作者:
啦啦啦123
,
2021-03-27 21:51:06
,
所有人可见
,
阅读 226
题目类型
最长上升子序列4: 使用的还是最长上升子序列的方式,但是思路比较巧妙
C++ 代码
# include <iostream>
# include <algorithm>
using namespace std;
const int N = 5010;
pair<int,int> h[N];
int f[N];
int n;
int main()
{
scanf("%d",&n);
for(int i = 1 ; i <= n ; i++)
{
scanf("%d %d",&h[i].first,&h[i].second);
}
sort(h + 1 , h + n + 1);
for(int i = 1 ; i <= n ; i++)
{
f[i] = 1;
for(int j = 1 ; j < i ; j++)
{
if(h[j].second < h[i].second)
{
f[i] = max(f[i], f[j] + 1);
}
}
}
int res = 0;
for(int i = 1 ; i <= n ; i++)
{
res = max(res,f[i]);
}
printf("%d\n",res);
return 0;
}