【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;
}
感性理解:相当于维护若干大蛋糕,每次贪心地放比蛋糕顶大而最小的顶
【正解】
显然先按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;
}
感性理解:相当于维护若干大蛋糕,每次贪心地放比蛋糕顶大而最小的顶