计算几何
文章平均质量分 74
CCSU_HelloWorld
来得很匆忙
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 2318 TOYS
给定你个长方形,划分成n+1个区域,里面有m个玩具,求每个区域内有多少个玩具。方法:叉积和二分法。#include #include #include #include #define eps 1e-8using namespace std;struct Point{ int x, y; Point(){} Point(int x, int原创 2013-07-15 13:06:55 · 354 阅读 · 0 评论 -
poj 2187 Beauty Contest
题意:在一个平面内给出了许多点,求出所有点中两点最长距离的平方。方法:graham法求凸包,枚举#include #include #include #include using namespace std;#define N 50005struct Point{ int x, y;}p[N], res[N];int Cross(Point a, Point原创 2013-07-23 11:40:10 · 321 阅读 · 0 评论 -
poj 1279 Art Gallery
模板题代码:#include #include #include using namespace std;#define N 2000#define eps 1e-8struct Point{ double x, y; Point(){} Point(double x, double y):x(x),y(y){}}s[N], p[N],原创 2013-07-21 20:57:40 · 355 阅读 · 0 评论 -
poj 3348 Cows
凸包模板题,求出凸包面积,再除以50就可以了。代码:#include #include #include #include using namespace std;#define eps 1e-10#define N 1005struct Point{ double x, y;}p[N], res[N];int dcmp(double x){原创 2013-07-22 13:06:41 · 343 阅读 · 0 评论 -
zoj 1450 Minimal Circle
题意:给定你一些点,求能够覆盖掉所有点的最小的圆。方法:最小圆覆盖,随机增量法代码:#include #include #include using namespace std;#define eps 1e-8struct Point{ double x, y;};struct Circle{ Point c; double r;原创 2013-07-20 16:45:48 · 473 阅读 · 0 评论 -
半平面交
首先解决问题:什么是半平面? 顾名思义,半平面就是指平面的一半,我们知道,一条直线可以将平面分为两个部分,那么这两个部分就叫做两个半平面。然后,半平面怎么表示呢? 二维坐标系下,直线可以表示为ax + by + c = 0,那么两个半平面则可以表示为ax + by + c >= 0 和ax + by + c 还有,半平面的交是神马玩意? 其实就是一个方程组,让你画出满足若干个式子的转载 2013-07-21 17:33:09 · 479 阅读 · 0 评论 -
poj 3335 Rotating Scoreboard
题意:求多边形的核是否存在。半平面交模板题。代码:#include #include #include using namespace std;#define MAXN 110#define eps 1e-10struct Point{ double x, y; Point(){} Point(double x, double y):x原创 2013-07-21 17:29:58 · 429 阅读 · 0 评论 -
poj 2653 Pick-up sticks
题意:从头到尾输入许多的棍子两端的坐标, 棍子的标号从1到N,按顺序输出没有被覆盖的棍子的标号。方法:线段判交,先输入的棍子与后面的棍子相交,则先输入的棍子被覆盖掉。代码:#include #include #include #include #define eps 1e-8using namespace std;struct Point//{ double原创 2013-07-20 10:51:31 · 445 阅读 · 0 评论 -
poj 2420 A Star not a Tree?
这是一个求多边形费马点的问题,通过求出的费马点,进而求出费马点到各个顶点之和。方法:模拟退火#include #include #include #define eps 1e-10using namespace std;struct Point{ double x, y;};double dist(Point *p, int n, Point t){原创 2013-07-20 09:48:26 · 431 阅读 · 0 评论 -
Points Within
判断点是否在任意多边形内。#include #include #include #define eps 1e-10#define N 110using namespace std;struct Point{ double x, y; Point(){} Point(double x, double y):x(x),y(y){}};Point原创 2013-07-19 17:11:44 · 447 阅读 · 0 评论 -
poj 1269 Intersecting Lines
这是很基础的计算几何的题目。两直线判交,有交点就输出交点,没有交点共线或重合则输出相应的结果。题目链接:http://poj.org/problem?id=1269#include #include #include #include #define eps 1e-8using namespace std;struct Point//{ double x,原创 2013-07-15 15:45:56 · 354 阅读 · 0 评论 -
多边形重心
质量集中在顶点上。n个顶点坐标为(xi,yi),质量为mi,则重心 X = ∑( xi×mi ) / ∑mi Y = ∑( yi×mi ) / ∑mi 特殊地,若每个点的质量相同,则 X = ∑xi / n Y = ∑yi / nhdu1115,题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1115#in原创 2013-08-05 16:10:04 · 437 阅读 · 0 评论
分享