求助,悬关
查看原帖
求助,悬关
565903
ZYH_juruo楼主2023/9/30 23:06
#include<bits/stdc++.h>
#define maxn 150005
using namespace std;
struct grass{
	int l,r,v;
}a[maxn];
int n,dp[maxn];
bool cmp(grass a,grass b)
{
	return a.r<b.r;
}
int f(int l,int r,int val)
{
	int mid,ans;
	while(l<=r)
	{
		mid=(l+r)>>1;
		if(a[mid].r<val)
		{
			l=mid+1;
			ans=mid;
		}
		else r=mid-1;
	}
	return ans;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].l>>a[i].r;
		a[i].v=a[i].r-a[i].l+1;
	}	
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
		dp[i]=max(dp[i-1],dp[f(1,i-1,a[i].l)]+a[i].v);
	cout<<dp[n]<<endl;
	return 0;
}

为什么我RE了,求调,悬关

2023/9/30 23:06
加载中...