Codeforces Round #198 (Div. 2) —— D

时间:2024-05-03 16:03:20

昨天想了一下D题,有点思路不过感觉很麻烦,就懒得去敲了;

今天上午也想了一下,还是没有结果,看了一下官方题解,证明得很精彩;

这道题目其实就是一道裸地最大上升子序列的题;

看到这里,直接怒码····

 #include<cstdio>
#include<algorithm>
using namespace std;
int a[];
int main()
{
int n,k,x,cnt=;
scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%d",&x);
int k=upper_bound(a,a+cnt,x)-a;
if(k==cnt)
cnt++;
a[k]=x;
}
printf("%d\n",cnt);
return ;
}