题解
因为限制了盒子的宽,所以贪心让每个三角形尽量高(即让最短边紧贴盒子底面所在直线)。
考虑把每个三角形竖着剖分成宽为
d
d
d的矩形。
将所有矩形降序排序,选前
⌊
L
d
⌋
\lfloor\frac{L}{d}\rfloor
⌊dL⌋个面积最大,为
d
∑
h
i
d\sum h_i
d∑hi。
当 d → 0 d\to 0 d→0时,就是答案。
考虑选择前
⌊
L
d
⌋
\lfloor\frac{L}{d}\rfloor
⌊dL⌋的过程:
假设第
⌊
L
d
⌋
\lfloor\frac{L}{d}\rfloor
⌊dL⌋块矩形的高为
H
H
H,那么每个三角形高
≥
H
\geq H
≥H的部分都会选中。
于是考虑在实数范围上二分这个 H H H,找到最小的 H H H满足每个三角形高 ≥ H \geq H ≥H的部分的长度之和 ≤ L \leq L ≤L。