计算几何
A_Pathfinder
这个作者很懒,什么都没留下…
展开
-
叉积求点在直线的一侧 poj 1106
传送门题目大意,让我们从源点,半径为r,可任意旋转的半圆中最多能包含多少个点。发射台为p0,以p0为轴心,可向任意方向旋转,所以我们将任一点pi与p0间的直线都作为半圆的下边界,再枚举所有点,则位于半圆区域内的点pj满足以下两个条件。1:pj实以p0pi为下边界半圆的一侧,即p0pi^p0pj >=0;2: pj与p0的距离不大于半径给出ac代码:#include&...原创 2019-08-09 22:30:21 · 251 阅读 · 0 评论 -
求多边形面积
poj 1654传送门一个字符串,由1-9的数字组成,表示从原点出发,多边形是如何构成的。这里8, 2, 6和4分别表示向北,向南,向东和向西;而9, 7, 3和1分别表示向东北,西北,东南和西南。 数字5仅出现在序列结束的时候,表示停止行走。根据向量叉积原理,只要我们把每次要输的点和上个点做叉积,最后比较奇偶,除2即可,因为叉积得到的是四边形面积。上ac代码#inclu...原创 2019-08-09 22:38:26 · 143 阅读 · 0 评论 -
判断两直线相交 poj 2653
传送门题目也就是让我找到在最上面的棍子。枚举棍子i上方的每根棍子j(i+1≤j≤n),若其中任何一根棍子与棍子i相交,则说明棍子i被上面的棍子压住了,直接判断棍子i+1;若棍子i未与上方的任何一根棍子相交,则棍子i属于最上面的棍子。#include<cstdio>#include<cmath>#include<algorithm>co...原创 2019-08-09 22:44:26 · 226 阅读 · 0 评论 -
叉积
叉积图中两个向量p1,p2.两个向量a和b的叉积写作a×b(有时也被写成a∧b,避免和字母x混淆)向量p1,p2的叉积为我们把(0,0)点当做p0.有了叉积的基础,我们在判断两条线段的关系p0p1,p1p2,就可以直接添一条有向线段p0p2,再检查p0p1,p1p2和p0p2的时钟旋转关系。为了做到这一点,我们计算出叉积给出向量的一些模板运算stru...原创 2019-08-09 23:19:25 · 394 阅读 · 0 评论