The Captain
文章目录
题目描述
给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。
分析
我们第一时间会想把所有点都连上边,这样在跑一遍dijkstra,不就可以了吗?
但是
对于100%的数据,n<=200000
那我们就想一下如何优化呢
我从样例哪里拿来3个数来看一下
id | x | y |
---|---|---|
1 | 2 | 2 |
2 | 1 | 1 |
3 | 4 | 5 |
1到2,需要 m i n ( ∣ X 1 − X 2 ∣ , ∣ Y 1 − Y 2 ∣ ) = 1 费 用 min(|X_1-X_2|,|Y_1-Y_2|)=1费用 min(∣X1−X2∣,∣Y1−Y2∣)=1费用
1到3,需要 m i n ( ∣ X 1 − X 3 ∣ , ∣ Y 1 − Y 3 ∣ ) = 2 费 用 min(|X_1-X_3|,|Y_1-Y_3|)=2费用 min(∣X1−X3∣,∣Y1−Y3∣)=2费用
2到3,需要 m i n ( ∣ X 2 − X 3 ∣ , ∣ Y 2 − Y 3 ∣ ) = 3 费 用 min(|X_2-X_3|,|Y_2-Y_3|)=3费用 min(∣X</