模板题注意原题中说的线段其实要当成没有端点的直线。被坑了= = 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 #define eps 1e-8 ...
分类:
其他好文 时间:
2014-12-11 22:19:31
阅读次数:
318
题意:一堆线段依次放在桌子上,上面的线段会压住下面的线段,求找出没被压住的线段。sol:从下向上找,如果发现上面的线段与下面的相交,说明被压住了。break掉其实这是个n^2的算法,但是题目已经说了没被压住的线段不超过1000个,所以不会爆 1 #include 2 #include ...
分类:
其他好文 时间:
2014-12-11 22:08:07
阅读次数:
202
题意:给出n个线段,判断是否存在一条直线使得所有线段在直线上的射影的交非空。分析:如果我们找到一条与所有线段相交的直线,然后做一条与该直线垂直的直线,这些线段在直线上的射影就一定包含这个垂足。所以我们只要判断是否存在一条直线与所有的点相交即可。如果存在这样一条直线,那么将这条直线平移或者旋转,就会被...
分类:
其他好文 时间:
2014-11-26 22:29:41
阅读次数:
270
题目链接IntersectionTime Limit:1000MSMemory Limit:10000KTotal Submissions:12040Accepted:3125DescriptionYou are to write a program that has to decide wheth...
分类:
其他好文 时间:
2014-11-25 23:21:12
阅读次数:
309
题意: 给一条线段,和一个矩形,问线段是否与矩形相交或在矩形内。解法: 判断是否在矩形内,如果不在,判断与四条边是否相交即可。这题让我发现自己的线段相交函数有错误的地方,原来我写的线段相交函数就是单纯做了两次跨立实验,在下图这种情况是错误的:这样的话线段与右边界的两次跨立实验(叉积#include ...
分类:
其他好文 时间:
2014-11-19 22:05:24
阅读次数:
166
题意: 正方形的房子,给一些墙,墙在区域内是封闭的,给你人的坐标,每穿过一道墙需要一把钥匙,问走出正方形需要多少把钥匙。解法: 因为墙是封闭的,所以绕路也不会减少通过的墙的个数,还不如不绕路走直线,所以枚举角度,得出直线,求出与正方形内的所有墙交点最少的值,最后加1(正方形边界)。代码:#inclu...
分类:
其他好文 时间:
2014-11-19 22:01:27
阅读次数:
527
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1558解题报告:首先如果两条线段有交点的话,这两条线段在一个集合内,如果a跟b在一个集合内,b跟c在一个集合内,那么a跟c在一个集合内。在一个平面上,有两种操作:P:在这个平面上添加一条线段Q k:询问添...
分类:
其他好文 时间:
2014-11-18 23:06:47
阅读次数:
218
#include #include #include #include #include using namespace std;int n;struct point{ double x; double y;};struct v{ point s; point e;} q[1...
分类:
其他好文 时间:
2014-11-14 22:29:58
阅读次数:
224
叉乘
(一)判断方向
(二)判断线段相交
(三)求三角形面积
(一)判断方向
叉乘的性质如下:
(1). P x Q > 0; 表示P在Q的顺时针方向;
(2). p x Q < 0; 表示P在Q的逆时针方向;
(3). P x Q = 0; 表示P和Q是共线的
P(x1,y1),Q(x2,y2), P*Q=x1y2-x2y1 判断结果三种状态
模版为:
struct p...
分类:
其他好文 时间:
2014-11-10 23:31:04
阅读次数:
519
题目意思:
给出n个线段,判断这n条线段中,线段相交的对数。
http://acm.hdu.edu.cn/showproblem.php?pid=1086
题目分析:
此题主要写出判断线段相交的函数,然后判断每一对线段即可,时间复杂度O(n*n)。详细解释见代码。
AC代码:
/**
*判断AB和CD两线段是否有交点:
*同时满足两个条件:('x'表示叉积)
...
分类:
其他好文 时间:
2014-11-04 22:54:18
阅读次数:
219