1. 程式人生 > 資訊 >【視訊】vivo S12 Pro 快速體驗,這手機上輩子應該是個修圖師

【視訊】vivo S12 Pro 快速體驗,這手機上輩子應該是個修圖師

1. 防晒

給定若干個線段和若干個點 讓每個點屬於一個線段的匹配數目最大

貪心策略

按照左端點降序排序,每次選取能夠用的中間最大的

如果是按照左端點升序排列,那麼可能會出現下面線段包住上面線段的情況

我們要求的策略是: 對於當前線段內的每一個點 要麼只有當前線段能用 要麼兩個都可以用

bool cmp1(Node x,Node y){return x.l>y.l;}
bool cmp2(SPF x,SPF y){return x.spf>y.spf;}
int n,m;
int main()
{
	n=read(); m=read();
	for(rint i=1;i<=n;i++) p[i].l=read(),p[i].r=read();
	sort(p+1,p+n+1,cmp1);
	for(rint i=1;i<=m;i++) q[i].spf=read(),q[i].num=read();
	sort(q+1,q+m+1,cmp2);
	int ans=0;
	for(rint i=1;i<=n;i++)
	{
		for(rint j=1;j<=m;j++)
			if(q[j].num&&q[j].spf>=p[i].l&&q[j].spf<=p[i].r)
			{
				q[j].num--;
				ans++;
				break;
			}
	}
	cout<<ans<<endl;
}

貪心原理: 範圍放縮:區域性最優策略不會讓整體結果變差