wa了前三个点,锰锌求助
查看原帖
wa了前三个点,锰锌求助
246099
dalao_see_me楼主2020/10/31 08:26

rt

#include<bits/stdc++.h>
using namespace std;
int m,n,ans;
struct sb
{
	int l,r;
}a[100086];
vector<int>v[100086];
int f[100086];
bool cmp(sb x,sb y)
{
	return x.r<y.r;
}
int main()
{
	cin>>m;
	for(int i=1;i<=m;i++)
	{
		int c,d;
		cin>>c>>d;
		if(c+d>=m)
		{
			ans++;
			continue;
		}
		++n;
		a[n].l=c+1;
		a[n].r=m-d;
		v[a[n].r].push_back(a[n].l);
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=m;i++)
	{
		map<int,int>mp;
		for(int j=0;j<v[i].size();j++)
		{
			int x=v[i][j];
			mp[x]++;
			f[i]=max(f[i],f[x-1]+mp[x]);
		}
		f[i]=max(f[i],f[i-1]);
	}
	cout<<n-f[m]+ans;
	return 0;
}
2020/10/31 08:26
加载中...