摘要: n<=1e5个点的树有边权,m个询问,每次问max dis(i,j) a<=i<=b,c<=j<=d。 结论:一个区间的最远点对,要么是其左半区间的最远点对,要么是其右半区间的最远点对,要么是左右半区间最远点对的四个点的互相组合之一。如下图: 两个集合最远点对分别是A-B,A并B的最远点对是红A-蓝 阅读全文
posted @ 2017-10-10 22:08 Blue233333 阅读(427) 评论(0) 推荐(0) 编辑
摘要: n<=10000个点,求欧几里德距离最小的一对点。 经典分治,把这些点按x排序,分成两半,每边分别算答案,答案是左边的最小,右边的最小,左右组起来的最小三者的最小。发现只有左右组的有点难写。 假设左右两半各自的最小中的最小是d,左半边最右的点横坐标是X1,右半边最左的点的横坐标是X2。那么只需要坐标 阅读全文
posted @ 2017-10-10 16:49 Blue233333 阅读(427) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-10-10 15:45 Blue233333 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 求三个人从a,b,c这三个位置跳到x,y,z最少多少步。跳:任意选一颗棋子,对一颗中轴棋子跳动。跳动后两颗棋子距离不变。一次只允许跳过1颗棋子。 从它跳的性质出发,向内跳只有一种操作,而向外跳有两种。这就是说,每个状态可以找到一个唯一前趋,有两个后继。这是一棵二叉树!求两个状态的最短路就是求他们到l 阅读全文
posted @ 2017-10-10 08:11 Blue233333 阅读(320) 评论(0) 推荐(0) 编辑