看到大家都用的 Floyd 算法+差分约束,我来解释一下为什么可以 Floyd 来求解此类问题。
首先题目中未直接提供每个砝码间大小的具体数值差距,同时让我们求的满足一定大小关系时的方案数。所以不能直接套用模板。
Floyd 的优势是在于在每次松弛的时候,选择的中继点能正确地传递这两个量的大小关系,同时又能清晰的表现出所有的量两两之间的大小关系,这正是我们所需要的。最重要的是,本题的数据范围 \(n\) 很小,也符合 Floyd 的使用条件。
如有不严谨的地方,欢迎指正。