题目:http://acm.hdu.edu.cn/showproblem.php?pid=4666
题目大意:n个操作,d个维度,0表示加点,1表示删点,每次操作都要输出当前存在点的最长曼哈顿距离。
思路:贴一段别人博客上的一段话,比赛的时候就是看了这段话才A的,写的很好~~
求最远曼哈顿距离,对于一个n维的空间,其中两点的曼哈顿距离为:|x1-y1|+|x2-y2|+|x3-y3|+|x4-y4|+……+|xn-yn| (两点的坐标分别为(x1,x2,……,xn)、(y1,y2,……,yn))
以下以二维平面为例研究:
设距离最远的两点为i,j,可知所求的最大距离必定有以下四种形式之一:
(xi-xj)+(yi-yj), (xj-xi)+(yi-yj), (xi-xj)+(yj-yi), (xj-xi)+(yj-yi) 变形

博客详细解析了如何解决二维空间中,给定一系列操作后,求存在的点之间的最远曼哈顿距离问题。通过讨论点的坐标变换和符号规律,得出结论:对于一个确定的维数,点的符号转化成的二进制数之和为2^d-1。文章提供了计算最大曼哈顿距离的思路和代码实现。
&spm=1001.2101.3001.5002&articleId=9953313&d=1&t=3&u=edc77adc40d146c4bca70aee2b259118)
4864

被折叠的 条评论
为什么被折叠?



