社区讨论

86分 _x~x_

P1020[NOIP 1999 提高组] 导弹拦截参与者 2已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mmg63rp4
此快照首次捕获于
2026/03/07 18:15
3 天前
此快照最后确认于
2026/03/09 19:50
昨天
查看原帖

86分_x~x_

CPP
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int a[N],x,n,dp[N],f[N],s;
int main(){
    while(cin>>x)a[++n]=x;
    f[0]=2e9; 
    for(int i=1;i<=n;i++)
	{
        if(a[i]<=f[s])f[++s]=a[i];
        else
		{
            int l=1,r=s;
            while(l<r)
			{
                int m=l+r>>1;
                f[m]>=a[i]?r=m:l=m+1;
            }
            f[l]=a[i];
        }
    }
    cout<<s<<endl;
    s=0;
    f[0]=-2e9;
    for(int i=1;i<=n;i++)
	{
        if(a[i]>f[s])f[++s]=a[i];
        else
		{
            int l=1,r=s;
            while(l<r)
			{
                int m=l+r>>1;
                f[m]>=a[i]?r=m:l=m+1;
            }
            f[l]=a[i];
        }
    }
    cout<<s<<endl;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...