这道题对费用的规定是min(|x1-x2|,|y1-y2|).如果暴力枚举所有的点复杂度O(n²),n <= 200000,显然爆炸.于是我们要考虑加“有效边”,一个显然的事实是对于两个点,如果经过不在两点连线上的第三个点中转得到的费用之和一定比直接连边小.所以考虑排个序,分别按照x.y排序,依次加边,有点类似贪心的思想,让每次加边的费用尽可能小,然后跑下dijkstra就行.注意,本题卡SPFA. P.S 我之前WA了好几次的原因是inf不够大QAQ,每个点坐标<=1e9,inf开1e10才…