题意大致是这样的:有一个有n行、每行m个格子的矩形,每次往指定格子里填石子,如果指定格子里已经填过了,则找到与其曼哈顿距离最小的格子,然后填进去,有多个的时候依次按x、y从小到大排序然后取最小的。输出每次填的格子的坐标。思路:这道题出自Codeforces Round #126 (Div. 2)是个...
分类:
其他好文 时间:
2015-08-04 07:04:13
阅读次数:
285
题意:二维空间,n个点,求以某点为起点到各点的最小切比雪夫距离
分析:
上一道题之前已经用“分治“思想在O(n)的时间内求出了n个点,以某点为起点到各点的最小曼哈顿距离,那么我们根据二维空间切比雪夫距离和曼哈顿距离的关系,可以把切比雪夫距离转化成曼哈顿距离,再直接用之前的方法即可。
二维空间:
曼哈顿距离 :d=|x1-x2|+|y1-y2|,到某点的曼哈顿距离为r的点组成一个边长为√2*...
分类:
其他好文 时间:
2015-08-03 19:11:06
阅读次数:
159
题意:给一个n*m的地图,'m'表示人,'H'表示房子,求所有人都回到房子所走的距离之和的最小值(距离为曼哈顿距离)。思路:比较明显的二分图最大权匹配模型,将每个人向房子连一条边,边权为曼哈顿距离的相反数(由于是求最小,所以先取反后求最大,最后再取反回来即可),然后用KM算法跑一遍然后取反就是答案。...
分类:
其他好文 时间:
2015-08-02 06:17:34
阅读次数:
140
题意:有n个点,求以这n个点中的某一点为起点,到各点的曼哈顿距离和最小是多少
分析:
暴力枚举又要超时,这种题一般都是考思维了,多半都是用技巧找到一个高效的方法。个人觉得这题跟上一篇文章的题是一个类型。
这题也是用“分治”,虽说题目要求的是曼哈顿距离,但是我们为什么真的就要一步到位的求呢,可以横纵坐标分开求,先x排序,然后遍历一遍,求出横坐标的距离,然后y排序,遍历一遍求出坐标的距离加在刚才...
分类:
编程语言 时间:
2015-08-02 01:03:18
阅读次数:
203
HDU 4311
题意:平面上有n个点,一个点(x,y)只能到达(x-1,y), (x+1,y), (x, y-1), (x, y+1)4个点。从n个点中找到一点,使其他点到此点的距离之和最小。
思路:
可以发现,两个点间距离为 |x1-x2| + |y1-y2| ,这便是两点间的曼哈顿距离。
朴素的做法是遍历所有点,枚举该点与其他点间的曼哈顿距离之和,但是会TLE;
取巧的做法是将所有...
分类:
其他好文 时间:
2015-07-31 23:39:16
阅读次数:
172
??
题意: 面上n个点,某点到其他点的曼哈顿距离最小和,切比雪夫距离最小和。
思路:对于切比雪夫距离可以转化为哈密顿距离,方法是将每个点的坐标逆时针旋转45度然后放大sqrt(2)倍,换成坐标表示也就是(x,y)->(x-y,x+y).
对于第一个问题,求曼哈顿距离最小和,也就是sum(xj-xi)+sum(yj-yi)。
如果直接求时间复杂度无法承受。
所以我们可以先对x排序,对于从...
分类:
其他好文 时间:
2015-07-31 20:25:12
阅读次数:
156
求从0,0点到n-1,m-1点的最小二进制数
分两种情况:
1:若0,0点为‘1’,则为起点,进bfs贪心
2:若0,0点为‘0’,则找出起点所连接的所有‘0’点所能接触到的‘1’点,取其中离终点曼哈顿距离最小的点当做起点,保证01串最短
bfs贪心:每次只往右或下方走,对所有能到达的新点,若有0,则只进是0的点,否则进1
#include "stdio.h"
#incl...
分类:
其他好文 时间:
2015-07-31 13:12:30
阅读次数:
74
资瓷点击此处阅读该文章O_o250Description从矩形地图中选三个点,使得A-B,B-C,C-A的曼哈顿距离和在给定的一个范围内,求多少种选法。X,Y≤3000X,Y\le 3000Solution水题,很容易发现曼哈顿距离和是一个矩形的周长,枚举长和宽统计即可。Code#include
using namespace std;
#define pb push...
分类:
其他好文 时间:
2015-07-20 21:36:28
阅读次数:
130
题外话之前准备期末预习加上刚放假浪了一会= =没有补题,今天开始恢复补题。。250Description:平面上给出NN个点,整数坐标。从(0,0)(0,0)出发,每次往上下左右四个垂直方向走,要求遍历所有点至少一次,最后回到给出的N个点中的某个点(不包括原点)。然后走过的距离是曼哈顿距离。给出一个数字代表要求走过的距离为奇还是为偶。问能否满足要求。Solution显然如果要求是偶的话只有全奇时无解...
分类:
其他好文 时间:
2015-07-14 18:18:49
阅读次数:
94
题目地址:NYOJ 7
曼哈顿距离:两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离。
思路:因为只能东西和南北方向走,所以先把南北(X)和东西(Y)方向的坐标分开,分别求它们的最值,然后相加即可。分析可以得知,邮局的所建...
分类:
其他好文 时间:
2015-07-09 17:59:24
阅读次数:
188