hdu 4311 Meeting point-1 #manhattan距离
2012-07-27 00:45
323 查看
比赛的时候没有想到,这里理论AC一下
平面上有N个点,求出从某一点出发,分别到达其他点的manhattan距离的和最小。
枚举每个点p1,从p1转移到p2时,拿x值来说,这两个x值将x轴分为三个区间,求出每个区间中x的个数即可。具体求法可二分或是树状数组(要离散化)。
y同理。
然后,如果先按x排序,x的处理就简化了。
最后时间复杂度是nlog(n)
附:hdoj的解题报告
平面上两点间的 Manhattan 距离为 |x1-x2| + |y1-y2|
X 方向的距离与 Y 方向上的距离可以分开来处理。假设我们以 (xi,yi) 作为开会的地点,那么其余的点到该开会地点所需的时间为 X 方向上到 xi 所需要的时间加上 Y 方向上到 yi 所需要的时间。
对数据预处理后可以快速地求出x坐标小于xi的点的个数rankx, 并且这些 x 坐标值之和 sumx,那么这些点 X 方向上对结果的贡献为 rankx * xi - sumx;同理可以处理出 x 坐标大于 xi 的点在 X 方向上对结果的贡献值。同理可求得其余点在 Y 方向上到达 yi 所需要的总时间。
平面上有N个点,求出从某一点出发,分别到达其他点的manhattan距离的和最小。
枚举每个点p1,从p1转移到p2时,拿x值来说,这两个x值将x轴分为三个区间,求出每个区间中x的个数即可。具体求法可二分或是树状数组(要离散化)。
y同理。
然后,如果先按x排序,x的处理就简化了。
最后时间复杂度是nlog(n)
附:hdoj的解题报告
平面上两点间的 Manhattan 距离为 |x1-x2| + |y1-y2|
X 方向的距离与 Y 方向上的距离可以分开来处理。假设我们以 (xi,yi) 作为开会的地点,那么其余的点到该开会地点所需的时间为 X 方向上到 xi 所需要的时间加上 Y 方向上到 yi 所需要的时间。
对数据预处理后可以快速地求出x坐标小于xi的点的个数rankx, 并且这些 x 坐标值之和 sumx,那么这些点 X 方向上对结果的贡献为 rankx * xi - sumx;同理可以处理出 x 坐标大于 xi 的点在 X 方向上对结果的贡献值。同理可求得其余点在 Y 方向上到达 yi 所需要的总时间。
相关文章推荐
- HDU 4311 4312 Meeting point 平面上的Manhattan距离和Chebyshev距离
- HDU 4311,4312 Meeting point(曼哈顿距离,切比雪夫距离)
- HDU-4311 Meeting point-1 曼哈顿距离快速计算
- 【HDU 4311】Meeting point-1(前缀和求曼哈顿距离和)
- HDU 4311 Meeting point-1(曼哈顿距离优化枚举)
- hdu 4311 Meeting point-1 (快速求解曼哈顿距离和)
- Hdu 4311-Meeting point-1 曼哈顿距离,前缀和
- HDU 4311 Meeting point-1 && HDU 4312 Meeting point-2 曼哈顿距离 与 切比雪夫距离
- HDU 4311 Meeting point-1 求一个点到其它点的曼哈顿距离之和
- HDU 4311 Meeting point-1(曼哈顿距离最小)
- HDU 4311 4312 切比雪夫距离与曼哈顿距离
- !HDU 4311 最小曼哈顿距离-思维&卡时间-(横纵坐标分开算,排序)
- HDU 4312 Meeting point-2(切比雪夫距离转曼哈顿距离)
- HDU 4311 Meeting point-1
- hdu 4311 - Meeting point-1(预处理)
- hdu - 4311 - Meeting point-1 - 想法题
- HDU 4311 Meeting point-1 简单几何
- HDU 4311 Meeting point-1
- hdu 4311 Meeting point-1(3级)
- Meeting point-1 HDU - 4311