计算几何
nymph181
这个作者很懒,什么都没留下…
展开
-
【计算几何】SSL_1213 多边形面积
题意给出NNN点,其中第iii个点连向第i+1i+1i+1条边,计算其组成的多边形的面积,如果不能组成多边形,输出ImpossibleImpossibleImpossible。思路判断不能组成多边形的情况,只用判断两条线是否相交即可。面积我们可以利用叉积的求法,每次取出连续的三个点计算面积,答案为它们的和的绝对值。代码#include<cmath>#include<...原创 2019-01-03 16:42:04 · 191 阅读 · 0 评论 -
【计算几何】POJ_1262 地板覆盖问题(Input)
题意在一个n∗mn*mn∗m的地板里放ttt块砖。如果有砖交叉覆盖,则输出NONDISJOINTNONDISJOINTNONDISJOINT否则如果有砖超出了地板,则输出NONCONTAINEDNONCONTAINEDNONCONTAINED否则如果有部分地板没有被覆盖,则输出NONCOVERINGNONCOVERINGNONCOVERING否则输出OKOKOK。思路这道题判断交叉比...原创 2018-12-29 19:34:24 · 313 阅读 · 0 评论 -
【计算几何】SSL_1715 计算面积
题意给出333个点的坐标,求出这个坐标构成的平行四边形的面积。思路利用这333个点组成的平行四边形的面积就为这333个点的叉积的绝对值。公式:点p1(x1,y1)p1(x1,y1)p1(x1,y1)和点p2(x2,y2)p2(x2,y2)p2(x2,y2)相对原点(0,0)(0,0)(0,0)的叉积为m=(x1∗y2)−(x2∗y1)m=(x1*y2)-(x2*y1)m=(x1∗y2)−(...原创 2018-12-29 20:00:35 · 165 阅读 · 0 评论 -
【计算几何】ZOJ_1041 SP898 Transmitters
题意给出一个半径为rrr的半圆形的圆心坐标,求出它最多能覆盖的点。思路首先我们可以先把超出圆的半径的点排除掉。然后我们每次枚举一个点为中间的分割线,把这个平面分成两边,我们利用叉积求出左边和右边的点的个数,求最大值就好了。代码#include<cmath>#include<cstdio>#include<algorithm>int n, an...原创 2018-12-30 08:39:02 · 161 阅读 · 0 评论 -
【计算几何 凸包】洛谷_2742 二维凸包 / [USACO5.1]圈奶牛Fencing the Cows
题意给出一些点,求出其中的凸包长度。思路grahamgrahamgraham算法。首先把点按照极角排序,这样子可以保证是逆时针来选点的。每次扫描一个点进栈,如果往外拐了说明中间凹了进去(利用叉积判断)。最后扫描栈里的点,计算凸包长度。代码#include<cmath>#include<cstdio>#include<algorithm>s...原创 2019-01-04 20:29:09 · 208 阅读 · 0 评论 -
【计算几何 凸包】POJ_3348 Cows
题意求出凸包的面积/50。思路用grahamgrahamgraham算法算出凸包的点,然后再用叉积算出多边形的面积就好了。代码#include<cmath>#include<cstdio>#include<algorithm>struct P{ double x, y, q;}p[10001];int s[10001], top;i...原创 2019-01-04 21:09:57 · 136 阅读 · 0 评论 -
【计算几何】JZOJ_6290 倾斜的线
题意给出ppp和qqq,以及nnn个点,求出其中最接近p,qp,qp,q的斜率。思路代码#include <cmath>#include <cstdio>#include <algorithm>#define file(x) freopen(#x".in", "r", stdin), freopen(#x".out", "w", stdout)...原创 2019-08-17 20:30:29 · 188 阅读 · 0 评论