D - All Your Paths are Different Lengths 思路: 二进制构造 首先找到最大的t,使得2^t <= l 然后我们就能构造一种方法使得正好存在 0 到 2^t - 1 的路径 方法是:对于节点 i 到 i + 1,添加两条边,一条边权值是2^(i-1),一条边权值是0 对于剩下的2^t 到 l-1的路径,我们考虑倍增地求,每次添加一条节点 v 到 节点 n 的边,边的权值是 X ,新增的路径是X 到 X + 2^(v-1) - 1 第一次的X是 2^t,之后每…