勾股/叉积/向量
disPlayLzy_
梦在前方,路在脚下
展开
-
Luogu P1522 牛的旅行 Cow Tours___floyd
题目大意: 农场中有N个点,给出N个点的坐标xi,yi,以及他们的连通情况,农场最大的直径为最大的两点间最短路,问任意连通一对不连通的点[i,j]后,农场最小的直径是多少。 1 <= N <= 150 0 <= X ,Y<= 100000 所求直径保留六位小数。 只需要打到小数点后六位即可,不要做任何特别的四舍五入处理。 题解: 用floyd找出两两间的最...原创 2018-03-22 21:38:30 · 296 阅读 · 0 评论 -
NOIP 2017 提高组 奶酪___dfs
题目大意: 题解: 这题有多种做法,我来讲讲怎么去实现dfs,虽然也可用bfs啊,并查集啊去实现,可是搜索的代码实现很容易。 ①将老鼠一开始能到的空洞标记,即所有满足圆心zi-r≤0的空洞。 ②以这些空洞为基础去看是否能够到达其他空洞,需满足2个圆点间距离≤2*r。 ③被标记过的点除了一开始的基础点,其他不需要再次搜,大力剪枝,暴力AC。 代码: var ...原创 2018-03-08 17:10:24 · 748 阅读 · 0 评论 -
POJ P3304 Segments
题目大意: 有T组线段,每组给出N个描述,表示一条线段的2个端点,求是否存在一条直线能够相交与所有的线段。 n≤100 距离|a - b| 题解: 规律+叉积: 这题我们其实要找一条满足的直线,就只需要枚举任意2个端点构成的直线是否能够相交于所有的线段, 因为如果你存在一条能够相交所有线段的直线,那么你也就可以将这条直线偏移到端点处,此时必定至少2个端点被经过,注意判断是否原创 2018-01-10 21:21:23 · 234 阅读 · 0 评论 -
POJ P1654 Area
题目大意: 一个人从原点开始给出M个指令让他走,指令为1~9: 1:左下; 2:下; 3:右下; 4:左; 5:停止行走; 6:右; 7:左上; 8:上; 9:右上; 问最后走过的点围成的多边形的面积, 5仅在指令的结尾出现。 一共有T个询问,每个询问包括一串指令Si 1 ≤ t ≤ 20 指令长度 ≤ 1000000 题解: 这题很多人是因为看不懂题才做错的… 我也原创 2018-01-09 20:56:09 · 284 阅读 · 0 评论 -
模拟试——repair
题目大意: 在N个城市中选择M个来开维修店,求选择哪些城市开维修店可以使得离维修店最远的那个城市离维修店的距离尽量小。给出N个城市的坐标(城市的坐标是唯一的),求出这个最小的距离。对于50%的数据,1 ≤ M ≤ N ≤ 10,-100 ≤ X,Y ≤ 100; 对于所有的数据,1 ≤ M ≤ N ≤ 20,-1000 ≤ X,Y ≤ 1000。题解: 根据数据我们发现裸搜即可。 先用勾股定原创 2017-06-15 16:06:47 · 306 阅读 · 0 评论 -
SSL P1333 地鼠的困境
题目大意:地鼠家族面临着一个新的威胁——猎食者。 地鼠家族一共有N个地鼠和M个鼠洞,每个都位于不同的(x, y)坐标中。假如有地鼠在发觉危险以后s秒内都没有回到鼠洞里的话,就可能成为老鹰的食物。当然了,一个鼠洞只能拯救一只地鼠的命运,所有地鼠都以相等的速度v移动。地鼠家族需要设计一种策略,使得老鹰来时,易受攻击的地鼠数量最少。 测试数据T<=50 n, m <= 100题解:这题就是一个裸的匈原创 2017-12-19 18:00:20 · 292 阅读 · 0 评论 -
HDU P1392 Surround the Trees
题目大意: 给出N个点,求将这N个点围起来的凸变形的周长。 坐标x,y≤32767 n≤100 题解: 凸包模版: 用jarivs算法求凸包时间复杂度:O(NM) 首先枚举一个最边边的点使得所有的点在它的某一个方向: 例如选了一个最下面的点i: 然后用叉积去求出一个在i的右侧的点,你要使得这个点j也满足所有的点在它的任意一个方向(除了之前选得点),然后继续枚举下一个点 这样构建原创 2018-01-12 18:48:52 · 340 阅读 · 0 评论 -
POJ P1269 Intersecting Lines
题目大意: 给出N个询问,每个询问给出分别2条直线中的2个点,判断是否相交,平行,亦或者共线。 -1000≤x,y≤1000 1≤N≤10 题解: A是A了,不过自己还不是很清楚,先放着,高中了再来深入探究,先记着公式跟推理过程 传送门 代码: var a,b,a1,b1,c1,a2,b2,c2:double; x1,x2,x3,x4:double; y原创 2018-01-11 17:05:38 · 289 阅读 · 0 评论 -
poj P2606 Rabbit hunt
题目大意: 给出N个点,秋有多少条共线。 1<=N<=200题解: 暴力枚举+叉积: 1.以任意2个不同的点构建一条直线。 2.用叉积 m=(x-x1)(y2-y1)-(x2-x1)*(y-y1) 枚举除这2个点以外的所有点有多少个在这条直线上,并累加ans。(ans初值为2,因为一开始构建直线时就有2个点) 3.每一次枚举完一条直线上的点数,就比较ans更新答案max找最大值。 时原创 2017-04-06 15:57:40 · 371 阅读 · 0 评论 -
SSL P1715 计算面积
题目大意: 给出平行四边形的3个点,求出它的面积,如果这样的平行四边形不存在,即求得的面积大小为0则输出Error。 题解: 用叉积(x1-x3)(y2-y3) - (x2-x3)(y1-y3)求出平行面积,如果面积=0就输出error。 时间复杂度:O(N)var a,b,c,d,e,f,n,i:longint; ans:extended; begin readln(原创 2017-03-16 16:34:42 · 385 阅读 · 0 评论 -
HDU P2036 改革春风吹满地
题目大意: 有多个N边形,给出它的N个点的坐标,求出它的面积。题解; 叉积: n变形的面积可用叉积求多边形面积公式, S=0.5*abs(x1*y2-x2*y1+x2*y3-x3*y2+……+xn*y1-x1*yn)var a:array [0..101,1..2] of longint; n,i:longint; ans:real; begin原创 2017-03-24 21:07:23 · 397 阅读 · 0 评论 -
jzoj P1337 【2011.12.10普及模拟】泽泽在巴西
题目描述泽泽帮助了英国某街道尽量减少酸雨的伤害,街道办主任非常感激他,就把他领到一扇门前,告诉他这扇门能通往好地方,具体好到什么程度要看泽泽人品。泽泽毫不犹豫地走了进去……泽泽来到了足球王国——巴西。这可是个好地方,泽泽看来人品攒了不少了。这里大街小巷都在踢足球,其乐无穷。突然,泽泽被一个人拎了起来,一看,是个足球流氓。他后面跟了一大群足球流氓,正虎视眈眈地看他。他们要求和泽泽比赛,输了就要揍他。没原创 2017-03-04 15:39:34 · 903 阅读 · 1 评论 -
洛谷 P1355 神秘大三角
题目大意: 给出三角形的3个点x,y,z,以及一个独立的点p,求这个点与这个三角形的关系,在三角形中,输出1,在三角形外,输出2,在三角边上,输出3,在三角形顶点上,输出4。题解: 1.判断点p,是否与x,y,z坐标相同,相同输出4. 叉积算出(a,b,p),(b,c,p)(c,a,p)的数值。 2.如果同时大于或者小于0,就代表点在三角形中输出1.如果任意2个叉积的值一个大于0一个小于0,原创 2017-03-22 16:49:39 · 437 阅读 · 0 评论 -
ZJU P1041 Transmitters
题目大意: 在一个雷达的半径范围内扫描一个半圆,求最多能扫到多少个点。题解: 1.把不在范围内的点排除。 以雷达为圆心构成一个圆。 2.以范围内的点为一条直线平分这个圆,并这2边半圆有分别有多少个点,找最大。 3.一直做第2步,最后输出找到的覆盖最多点的半圆。 判断是否在范围内,用勾股定理。 判断点的位置用计算叉积公式: m=(x1-x0)(y2-y0)-(x2-x0)(y1-y0)原创 2017-03-10 21:07:22 · 309 阅读 · 0 评论 -
Bzoj P1069 [SCOI2007]最大土地面积___凸包+旋转卡壳
题目大意: 在某块平面土地上有NNN个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成 的多边形面积最大。 N≤2000,∣x∣,∣y∣≤100000N≤2000,|x|,|y|≤100000N≤2000,∣x∣,∣y∣≤100000 分析: 求出凸包, 枚举凸包中对角线, 以对角线为底,求出两边的最大面积三角形的面积areal,areararea_l,area_rare...原创 2018-11-12 21:11:18 · 136 阅读 · 0 评论