不难发现一条边 ((x,y)) useful 当且仅当存在两个点 ((a,b)) 满足 (dis_{a,x}+eg_{x,y}+dis_{y,b}leq l_{a,b})。由于题目保证 (eg) 和 (l) 的给定都没有重边,所以直接枚举点们是正确的。但是是四方的,考虑优化之。
(l) 移过来之后,发现任意一个变量都独立不开来,不好处理。容易发现,四个变量之间的关联关系是一个四元环,而枚举变量可以把当前点删除。我们的目的就是枚举一些点,删点之后使得剩下的都是孤立点,这样就能对每个点独立枚举处理了。
不难发现枚举对角点的方案,例如枚举 (a,y)。这样一来 (dis_{a,x},eg_{x,y}) 成了关于 (x) 的函数,(dis_{y,b},l_{a,b}) 成了关于 (b) 的函数,于是可以分别独立处理:计算 (dis_{y,b}-l_{a,b}) 的最小值,然后枚举 (x) 看是否有 (dis_{a,x}+eg_{x,y}+mnleq 0) 即可。这样就降了一方。
(以上都是瞎写的,别当真。实际上稍微乱想就出来了,这是个较为简单的 d1d)