洛谷 P1020 [NOIP1999 普及组] 导弹拦截

2023-05-04,,

Coidng

#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector> using namespace std;
const int N = 1e5 + 10;
int q[N];
int f[N], g[N];
int len = 0;
int main()
{
int n = 0;
while (cin >> q[n])
n++;
// n++;
for (int i = 0; i < n; i++)
{
//cout << q[i] << endl;
int l = 0, r = len;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (f[mid] >= q[i]) l = mid;
else r = mid - 1;
}
len = max(len, r + 1);
f[r + 1] = q[i];
}
cout << len << endl; int cnt = 0;
for (int i = 0; i < n; i++)
{
int k = 0;
while (k < cnt && g[k] < q[i]) k++;
g[k] = q[i];
if (k >= cnt) cnt++;
}
cout << cnt << endl;
return 0;
}

洛谷 P1020 [NOIP1999 普及组] 导弹拦截的相关教程结束。

《洛谷 P1020 [NOIP1999 普及组] 导弹拦截.doc》

下载本文的Word格式文档,以方便收藏与打印。