首页 > TAG信息列表 > AMPPZ2014
[BZOJ4152][AMPPZ2014]The Captain题解
The Captain @目录The Captain题目描述分析代码 题目描述 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。 分析 我们第一时间会想把所有点都连上边,这样在跑一遍dijkstra,不就可以了吗? 但是 对于100%的数据,n<=200000 那我bzoj 4152[AMPPZ2014]The Captain
bzoj 4152[AMPPZ2014]The Captain 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。 一开始我居然把这个取min看成取曼哈顿距离。。 暴力建图是\(n^2\) 考虑两个点,可以以\(|x_1-x_2|\)和\(|y_1-y_2|\)为权值分别建图,在跑最短「AMPPZ2014」The Captain
传送门: 这是一道bzoj权限题 Luogu团队题链接 解题思路 直接连边的话边数肯定会爆炸,考虑减少边数。 我们画出坐标系,发现一个东西: 对于两个点 \(A,B\),\(|x_A-y_A|\) 可以经由由他们俩之间的若干点取到,\(y\) 同理。 所以我们只需要先把所有点分别按照 \(x\) 和 \(y\),相邻两点之间连边[AMPPZ2014] The Captain
问题描述 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点走到n号点的最小费用。 输入格式 第一行包含一个正整数n(2<=n<=200000),表示点数。 接下来n行,每行包含两个整数x[i],y[i] (0<=x[i],y[i]<=10^9),依次表示每个点的坐标。 输出格式 一个整数,即最