题面
给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。
分析
首先,直接走过去花费肯定是min(...).
画图可以发现,在1,n围成的矩形中,如果有其他点,那么通过其他点走过去一定不会更劣(至少不亏).
而且最短路显然会选择更短的路线(废话)所以两个点之间可以建两条边也无所谓.
所以,我们按照x排序,相邻的点之间连边,再按照y排序,相邻的点之间连边,然后跑最短路就好了!
给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。
首先,直接走过去花费肯定是min(...).
画图可以发现,在1,n围成的矩形中,如果有其他点,那么通过其他点走过去一定不会更劣(至少不亏).
而且最短路显然会选择更短的路线(废话)所以两个点之间可以建两条边也无所谓.
所以,我们按照x排序,相邻的点之间连边,再按照y排序,相邻的点之间连边,然后跑最短路就好了!