题目描述:给n个矩形二维容器(xi×yi),求面积最大的矩形块A×B,使得两个这样的矩形块能塞进容器里。
塞法有两种:塞在同一个容器;塞在两个不同的容器。前一种情况很水,后一种也不难。枚举矩形块的较小边A,这个较小边也必然是某个容器的较小边。所以只要枚举容器的较小边就行了,这样确定第一个容器;然后在第一条边大于A的容器中,找第二条边的最大值。该值与第一个容器的较大边的较小值,就是矩形块的较大边B。
于是问题转换成求区间最大值,方法很多,这里采取排序后倒序枚举解决。
注意double(精度仅52位)存不下答案,要用long double,或者手动处理long long来输出答案。
1 | /* |