社区讨论
求优化O(n^2)
P1020[NOIP 1999 提高组] 导弹拦截参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjdbha5
- 此快照首次捕获于
- 2025/11/04 00:42 4 个月前
- 此快照最后确认于
- 2025/11/04 00:42 4 个月前
前十个测试点AC了,后面全是TLEQwQ
CPP#include <bits/stdc++.h>
using namespace std;
#define long long int
vector<int> p[1010];
int d=0;
#define N 100010
int dp[N];
signed main(){
int n=0;
int a[N];
while(cin>>a[n++]);
//
for(int i=0;i<n;i++){
for(int j=i;j>=0;j--){
if(a[i]<=a[j]){
dp[i]=max(dp[i],dp[j]+1);
}
}
}
int MAX=INT_MIN;
for(int i=0;i<n;i++)MAX=max(MAX,dp[i]);
cout<<MAX-1<<"\n";
//
for(int i=0;i<n;i++){
bool f=0;
for(int j=0;j<d;j++){
if(p[j].back()>=a[i]){
p[j].push_back(a[i]);
f=1;
break;
}
}
if(f==0){
p[d].push_back(a[i]);
d++;
}
}
cout<<d<<"\n";
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...