给出$a_0, a_1, \cdots, a_{n-1}$,分别代表你有$a_i$根长度为$2^i$的棍子。
现在你要将这些棍子组成尽可能多的面积大于0的三角形。
">Pavel and Triangles
Pavel and Triangles
Created by LXC on Mon Jul 24 14:57:42 2023
https://codeforces.com/problemset/problem/1119/E
ranting: 1900
tag: brute force, dp, fft, greedy, ternary search
problem
给出$a_0, a_1, \cdots, a_{n-1}$,分别代表你有$a_i$根长度为$2^i$的棍子。
现在你要将这些棍子组成尽可能多的面积大于0的三角形。
solution
由于棍子是二的幂次,我们不可能选三种不同长度的棍子。
所以我们只能组成等腰三角形或等边三角形。
我们由小到大选择棍子长度,对于当前的长度的棍子选择两根与比它短的未匹配的进行组合。直到未匹配的棍子不够或者当前的棍子不够则停止匹配,如果则当前剩余的棍子还足够多则可以组成等边三角形。最后剩余的则给后续的棍子匹配。
code
1 |
|