![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
曼哈顿距离
文章平均质量分 83
路人丙丙
这个作者很懒,什么都没留下…
展开
-
hdu4311 Meeting point-1 求最小的曼哈顿距离和
曼哈顿距离:两个点在标准坐标系上的绝对轴距总和 可以表示为: 传送门 本题的题意:给定n个点,每个点到其他的点都可以取得曼哈顿距离和,求最小的距离和 思路:分别对x坐标、y坐标排序,我们可以先对x坐标排序,得到一个坐标序号,每个点的序号i的意义是:有i-1个点的横坐标比它小,有n-i个点的横坐标比它大,所以如果我们还可以求得一个x坐标的前缀和sumx的话,那么 就是比第i个点横坐标小原创 2018-01-27 12:56:42 · 748 阅读 · 0 评论 -
hdu4312 求最小切比雪夫距离和
传送门 题意:与hdu4311差不多...不过变成了从八个方向来,这样就转化成了求最小的某个点到其他点的切比雪夫距离和 思路:将切比雪夫距离转化成曼哈顿距离来做: 我们设x3、x4,这样 ,我们求x1、x2的切比雪夫的距离:,带入x3、x,这实际是x3、x4曼哈顿距离的二分之一,这样我们就可以按照hdu4311的做法,先对坐标处理一下,求出最小的曼哈顿距离和,最后结果除以2就是想要的答案了原创 2018-01-27 13:41:34 · 324 阅读 · 0 评论 -
带权求切比雪夫距离和最短
即求,我们还是要先把切比雪夫距离转化为曼哈顿距离,其实跟hdu4312的求法很相似了……,只是加上了权值,如果我们还是只看横坐标方向上的:先对横坐标排序,得到一个序号 那么横坐标比i个点小的与第i点的横坐标的差的和为 其中sumwx[]数组为对x坐标排序了以后权值的前缀和,sumx[]是xi*wi的前缀和 横坐标比i个点大的与第i点的横坐标的差的和为 同样y坐标上也是相同的算法 代码原创 2018-01-27 14:02:55 · 462 阅读 · 0 评论