Given n points
on a 2D plane, find the maximum number of points that lie on the same straight line.
分析:
任意一条直线都可以表述为
y = ax + b
假设,有两个点(x1,y1), (x2,y2),如果他们都在这条直线上则有
y1 = kx1 +b...
分类:
其他好文 时间:
2015-08-09 20:47:26
阅读次数:
98
/**
* 功能:在二维平面上,有一些点,请找出经过点数最多的那条线。/**
* 思路:在任意两点之间画一条无线长的直线,用散列表追踪那条直线出现的次数最多。时间复杂度O(N*N)
* 注意:
* 1)用斜率和y轴截距来确定是否是同一条直线。
* 2)浮点数不一定能用二进制数准确表示,因此检查两个浮点数的差值是否在某个极小值(epsilon)内。
* 3)对于散...
分类:
其他好文 时间:
2015-08-08 15:05:13
阅读次数:
218
题意:小明要买三座房子,这三个房子构成一个三角形,已知n个房子的坐标,任何三个房子都不在一条直线上,又已知有m个宝藏的坐标,问房子构成的三角形内有奇数个宝藏的三角形有多少个。数据范围:n(3~100),m(1~1000)
分析:
简单的计算几何。记住这题的做法。
三角形内的点的个数=上面的线段下面的点的个数 -- 下面两条线段下面的点的个数(或者下面一条线段减上面两条线段,看具体位置情况,所...
分类:
其他好文 时间:
2015-08-08 00:00:28
阅读次数:
380
/**
* 功能:在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分。
* 假定正方形的上下两条边与x轴平行。
*/
/**
* 考虑:
* 线的准确含义,可能性有:
* 1)由斜率和y轴截距确定;
* 2)由这条边上的任意两点确定;
* 3)线段,以正方形的边作为起点和终点。
*
* 假设:这条线的端点应该落在正方形的边上。
* 思路...
分类:
其他好文 时间:
2015-08-07 20:12:15
阅读次数:
117
这道题目我是暴力做出来的,复杂度是n^3,因为数组做多有700组,大约可以用这个复杂度,虽然严格来说500多才
是正常的,每次都是选择两个坐标然后确定一条直线,然后遍历一下其他点,用叉积形式判一下是否在一条直线上就ok
啦,网上说可以用极角排序来解,复杂度是n^2logn然而我看了看并没有想学的欲望。。。以后再学吧,,,还用到了
sscanf函数,看别人这样用的,就是在一个数组里匹配想要的类...
分类:
其他好文 时间:
2015-08-03 19:19:43
阅读次数:
121
题意描述:
在一条直线上有n棵树,每棵树有一个高度。现在进行查询:给一个高度h,把小于等于h的树砍掉,剩余的树能组成几个块?
块的定义:一个块要包含尽可能多的位置连续的树,而且被包含的树没有被砍掉
解题思路:离线处理
1、逆向思维:砍树的对立面就是长树
(1)如果我们把树的高度和查询高度都按从大到小的顺序排序,初始化直线上没有一棵树存在;
...
分类:
其他好文 时间:
2015-08-03 14:54:51
阅读次数:
70
(Uva 6955可以直接随机,湖大OJ 13348 要优化) 题意:给出 n个点的坐标, 一个 百分数p, 求是否有一条直线上有 n * p /100个点… 随机化算法,但也要优化下……(TLE, WA到底…) #include #include #include #include #includ...
分类:
其他好文 时间:
2015-08-03 07:49:37
阅读次数:
131
a[i]表示八个棋子,i表示所在行,a[i]表示所在列 各个棋子不能横向、纵向、对角线在一条直线上。 因为我们以行为单位摆放棋子,所以各个棋子一定不在同一行。 对于不在纵向:a[i] != a[j] 对角线分为两种...
分类:
其他好文 时间:
2015-08-02 23:40:39
阅读次数:
366
Finding Lines Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13348&courseid=0 Mean:给你平面上1e5个点,让你判断是否可以找到一条直线,使得p%的点都在这条直...
分类:
编程语言 时间:
2015-08-02 23:07:54
阅读次数:
300
传送门](http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3303)[
题目大意:题意:
如图,人左右走动,求影子L的最长长度。根据图,很容易发现当灯,人的头部和墙角成一条直线时(假设此时人站在A点),此时的长度是影子全在地上的最长长度。当人再向右走时,影子开始投影到墙上,当人贴着墙,影子长度即为人的高度。所以当人从A点...
分类:
其他好文 时间:
2015-08-02 18:16:59
阅读次数:
120