题意:m维空间,查询最远距离。n次删除和插入点操作,每次输出最远距离。
思路:模板题了。比赛的时候想到了打开绝对值,维护2^m个数据结构(支持插入、删除、求最值),map或者set。。。但是程序实现太弱了,以至于没敢认真的写写。还是得多写才行,有想法也不敢搞!
分析:考虑|a-b|+|c-d|,(a,c)到(b,d)的距离,绝对值打开以后,肯定为|p1 * a +p2*b + p3*c + p4*d|,其中p1\p2\p3\p4为1,或者-1。可以得出p1=p3,p2 = p4。
有这个结论,那维护2^m个数据结构即可。小证明,考虑a<=c && b<=d,那么,距离就是c-a + d - b,满足条件。且,该值一定为所有情况里的最大值。由绝对值三角不等式可证。
/*
map 真是好用啊!
*/
#include
#include
#include<string.h>
#include