为什么不可以这么做
查看原帖
为什么不可以这么做
1252442
lucy2012楼主2024/5/1 13:08
#include<bits/stdc++.h>
using namespace std;
vector<int> v[3000010];
int n,maxx,dp[3000010];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int x,y;
		cin>>x>>y;
		v[y].push_back(x);//这里
		maxx=max(maxx,y);
	}
	for(int i=1;i<=maxx;i++){
		dp[i]=dp[i-1];
		for(int j=0;j<v[i].size();j++){
			int num=v[i][j];
			dp[i]=max(dp[i],dp[num]+i-num+1);//还有这里
		}
	}
	cout<<dp[maxx];
	return 0;
}
2024/5/1 13:08
加载中...