CF1893D Colorful Constructive 题解
这场给我干傻了,1B 1C 写了一百年根本没时间看 1D,结果 1D 是纯 sbt(可以放 1B)。
考虑对于一个大小为
Proof:
不妨把余下那段移到最左边。这段随便放。然后从第
那么就可以放心地拆架子了。将所有拆出来的段从长到短排序,对于长为 std::priority_queue 维护贪心过程。
时间复杂度线性对数。
for reference only.
这场给我干傻了,1B 1C 写了一百年根本没时间看 1D,结果 1D 是纯 sbt(可以放 1B)。
考虑对于一个大小为
Proof:
不妨把余下那段移到最左边。这段随便放。然后从第
那么就可以放心地拆架子了。将所有拆出来的段从长到短排序,对于长为 std::priority_queue 维护贪心过程。
时间复杂度线性对数。
for reference only.