
计算几何
文章平均质量分 90
ICPC计算几何方面的知识点题目,板子等等
Happig丶
我的孤独,虽败犹荣
展开
-
求任意凸多边形面积
任意给出一个三角形ΔABC,设其顶点坐标分别为A(x1, y1),B(x2, y2),C(x3, y3),那么根据线性代数的知识,ΔABC的有向面积可表示为:给出任意一个多边形,其顶点坐标依次为(x0,y0),(x1,y1),(x2,y2),…,(xn,yn)(其中n=2,3,4,…),则其面积可表示为:故计算的函数为:double any_ploygon_area(int x,int ...原创 2020-01-27 21:12:50 · 1675 阅读 · 0 评论 -
UVa1606 Amphiphilic Carbon Molecules(极角排序+扫描线)
题目链接1.题目大意:平面上有若干点,每个点为黑点或白点,现在需要放置一块隔板,使隔板一侧的白点数加上另外一侧的黑点数总数最大,隔板上的点可以看做任意一侧2.先分析一下LRJ老师的思路:假设隔板至少经过两个点,那么最简单的想法是枚举任意两个点构成的直线并按题意统计,时间复杂度O(n3),肯定超时。那么,先枚举一个基准点,将一条直线绕这个点旋转,每当直线扫过一个点,就可以动态修改。由于扫描直接...原创 2020-04-02 12:32:11 · 294 阅读 · 0 评论 -
计算几何——极角排序
极角在平面上任取一个顶点O,称为极点;作射线X,那么OX就是极轴。平面上任意一点和O点作向量,与OX形成的夹角就叫做极角。通常选定逆时针方向为正,一般我们以x轴为极轴,那么极角就是平面向量与x轴的夹角极角排序给定极轴,在平面上分布着若干点,将这些点相对于极轴的极角大小排序,就叫做极角排序。注意如果极角相同,那么需要按x升序处理如下图,排序后的点集为ABCDEF利用atan2(doub...原创 2020-04-02 10:39:17 · 4412 阅读 · 1 评论 -
POJ 2826 An Easy Problem?!(思维+判断线段直线之间关系)
题目链接It’s raining outside. Farmer Johnson’s bull Ben wants some rain to water his flowers. Ben nails two wooden boards on the wall of his barn. Shown in the pictures below, the two boards on the wall ...原创 2020-03-12 20:13:28 · 172 阅读 · 0 评论 -
POJ 1556 The Doors(判断线段相交+最短路)
题目链接You are to find the length of the shortest path through a chamber containing obstructing walls. The chamber will always have sides at x = 0, x = 10, y = 0, and y = 10. The initial and final point...原创 2020-03-12 18:33:19 · 184 阅读 · 0 评论 -
POJ 3304 Segments(思维+判断直线和线段相交关系)
题目链接Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments have at least one p...原创 2020-03-12 17:55:55 · 195 阅读 · 0 评论 -
POJ 2398 Toy Storage(点和向量位置关系/二分)
题目链接Mom and dad have a problem: their child, Reza, never puts his toys away when he is finished playing with them. They gave Reza a rectangular box to put his toys in. Unfortunately, Reza is rebellio...原创 2020-03-12 17:36:49 · 134 阅读 · 0 评论 -
计算几何(四)——多边形和圆(updating)
多边形多边形定义:由在同一平面且不再同一直线上的多条线段首尾顺次连接且不相交所组成的图形叫多边形简单多边形定义:简单多边形是除相邻边外其它边不相交的多边形凸多边形定义:过多边形的任意一边做一条直线,如果其他各个顶点都在这条直线的同侧,则把这个多边形叫做凸多边形。或者说如果一个简单多边形的内角不超过180°,那么它是凸多边形性质:1.任意凸多边形外角和均为360°2.任意凸多边...原创 2020-03-09 17:02:20 · 1281 阅读 · 0 评论 -
计算几何(三)——直线与线段
直线我们以前学的直线的常用表示有:一般式ax+by+c=0点斜式y-y0=k(x-x0)截距式y=kx+b两点式(y-y1)/(y2-y1)=(x-x1)/(x2-x1)但是很明显上面的形式保存的直线形式较为单一,因此我们使用直线的向量方程——点向式,用一个点和方向向量表示直线:ρ= p0+v·t方向向量的求法:已知直线上的两点便可确定方向向量,进而确定一条直线struct L...原创 2020-03-05 22:45:12 · 1686 阅读 · 1 评论 -
计算几何(二)——点与向量
点二维平面下的点保存横纵坐标即可struct Point{ double x,y; Point(double a=0,double b=0):x(a),y(b){} //运算符重载};向量向量在数学意义上是矢量,即有方向的量,但是计算机并不能存储方向,因此还是要用坐标表示,但是因为一些函数是基于向量计算的,与点没有关系,为了区别开我们重定义向量名Vector#define...原创 2020-03-05 22:35:17 · 3836 阅读 · 0 评论 -
计算几何(一)——入门须知
前言计算几何,虽然不少题都是板子来套,但我们应深知,“借”来的板子远不如自己消化理解后打的板子拓展性强。没有学不会的算法,只有不想学的ACMer。最近比赛接连遇到不少较为基础的计算几何,因为没有接触这方面因此错失AC,如今比赛、题目、安排较多,因此先简单花一两周入个门,以后再打算深入时,有了之前的基础,就不会那么难———————————————————————————2020.3.5 22:2...原创 2020-03-05 22:31:12 · 406 阅读 · 0 评论