dp求助
查看原帖
dp求助
86971
TRZ_2007楼主2020/7/28 11:00
#include <bits/stdc++.h>
using namespace std;

const int N = 5009;

struct pp {
	int w,l;
}a[N];

int n,dp[N],len;

bool cmp(pp u,pp v) {
	return u.l > v.l;
}

int main() {
	scanf("%d",&n);
	for(int i = 1;i <= n;i++) {
		scanf("%d %d",&a[i].l,&a[i].w);
	}
	sort(a + 1,a + n + 1,cmp);
	dp[1] = a[1].w;len = 1;
	for(int i = 2;i <= n;i++) {
		if(dp[len] < a[i].w) dp[++len] = a[i].w;
		else {
			int p = lower_bound(dp + 1,dp + len + 1,a[i].w) - dp;
			dp[p] = a[i].w;
		}
	}
	printf("%d\n",len);
	return 0;
}

这份代码WA成了10pts,不知道哪里错了

2020/7/28 11:00
加载中...