随笔分类 -  ACM之路---二分查找

摘要:题意:给你n个点的坐标,算出这些坐标可能组成多少个正方形。。分析:由几何知识我们可以推出,当知道一个正方形一条边两个点的坐标时,可以推出剩下两点的坐标。推导过程:公式推导:如图所示,正方形的四个点分别为(x1,y1),(x2,y2),(x3,y3),(x4,y4)假设一开始给出的点为(x1,y1),(x2,y2)且已排序根据全等三角形,可以得知2个蓝色△全等,2个红色△全等(注:此处也可推右边的正方形)所以可以推出x3=x2-(y2-y1); y3=y2+(x2-x1); x4=x1-(y2-y1); y4=y1+(x2-y1);当然全体是排好序。因为... 阅读全文
posted @ 2014-03-03 16:47 xtaq 阅读(231) 评论(0) 推荐(0)
摘要:二分查找主要用于在一堆数中查找某一个数。。前提条件:(1)这堆数要存储在数组中;(2)是有序的。。二分查找属于分治法。。可以用递归实现。。代码:int binarysearch(int array[], int low, int high, int target){ if (low > high) return -1; int mid = (low + high)/2; if (array[mid]> target) return binarysearch(array, low, mid -1, target); if (array[mid]... 阅读全文
posted @ 2014-03-02 20:08 xtaq 阅读(309) 评论(0) 推荐(0)