【20181020T1】蛋糕

题面

【正解】

显然先按a排个序,然后用b乱搞

第一问用D开头的定理求最长下降子序列

第二问乱搞

for (int i=1;i<=n;i++)
{
	int* t=upper_bound(f+1,f+n+1,c[i].b,cmp);
	c[i].ans=t-f;
	*t=c[i].b;
}

感性理解:相当于维护若干大蛋糕,每次贪心地放比蛋糕顶大而最小的顶

代码

posted @ 2018-10-20 16:14  lst_mengbier  阅读(117)  评论(0编辑  收藏  举报