摘要: 核心是分治算法 1. 分别根据点的 x,y 值进行排序 2. 在 x 轴上划一道垂线, 将点均分成两半 3. 假设最近点对都在左/右部分, 递归计算左/右半部分的最短距离 并返回较小值 dis 4. 假设最近点对分别在左右两个部分, 横跨中心的竖线. 中心线为中心, 2 dis 为宽度画一个矩形, 阅读全文
posted @ 2019-08-31 07:39 颓废の子乃酱 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 因为(a,b)与( a, b)完全相反,只能择其一。 所以只有这几种运算(a,b)(a, b)(b,a)(b, a) ( a, b)( a,b)( b,a)(b,a)[当然,题目中讲了。。。。] 把他们组合起来,就只有这四种运算 xi或yi +/ 2 a; xi或yi +/ 2 b; xi+a, y 阅读全文
posted @ 2019-08-31 07:38 颓废の子乃酱 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 整体二分? 二分答案c,求: solve(optl,optr,ansl,ansr); 即work出操作在[ol,or],答案在[al,ar]? 先搞出一个答案mid,再把opt扫一边。 如果是1 如果c mid,就丢进树状数组里面。 区间+1? 三个树状数组的事情。 然后把操作扔进右边QwQ 如果c 阅读全文
posted @ 2019-08-31 07:37 颓废の子乃酱 阅读(141) 评论(0) 推荐(0) 编辑