摘要: 回到二维的情况。参考一维退化版本的解法,首先进行分解和求解步骤。 分解:将所有点按照横坐标从中心分成两部分。 求解:递归求解两半部分的最近点对,左右两半部分依次为 p_1,p_2p​1​​,p​2​​ 和 q_1,q_2q​1​​,q​2​​。 合并:令 d = min\{|p_1-p_2|, |q 阅读全文
posted @ 2017-04-25 22:19 zhang_upstar 阅读(2175) 评论(0) 推荐(0)
摘要: 对于给定的数组 numnum,一个长度为 ss 的连续子序列是指由 num_i,num_{i+1},num_{i+2}\ldots,num_{i+s-1}num​i​​,num​i+1​​,num​i+2​​…,num​i+s−1​​ 组成的序列。数组中的元素有可能为正数、负数或 00。你需要从数组 阅读全文
posted @ 2017-04-25 21:55 zhang_upstar 阅读(477) 评论(0) 推荐(0)
摘要: n堆苹果,每次花费的体力是两堆苹果的总和,问花费的最少体力。优先队列,很好处理。 #include <bits/stdc++.h> using namespace std; int main() { priority_queue<int,vector<int>,greater<int> > que; 阅读全文
posted @ 2017-04-25 21:39 zhang_upstar 阅读(234) 评论(0) 推荐(0)