
计算几何
文章平均质量分 71
汤匙的匙不是钥匙的匙
怒当炮灰
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迷宫寻宝(二)(nyoj 83)
题目:#includestruct node{ double x, y; };struct line{ node p, q; };int n;node tre;//宝藏位置 line s[40];double det(double x1, double y1, double x2, double y2原创 2014-04-30 13:40:53 · 687 阅读 · 0 评论 -
三点顺序(nyoj 68)
下面来自:点击打开链接利用矢量叉积判断是逆时针还是顺时针。 设A(x1,y1),B(x2,y2),C(x3,y3),则三角形两边的矢量分别是: AB=(x2-x1,y2-y1), AC=(x3-x1,y3-y1) 则AB和AC的叉积为:(2*2的行列式) |x2-x1, y2-y1| |x3-x1, y3-y1| 值为:(x2-x1)原创 2014-04-08 19:56:48 · 656 阅读 · 0 评论 -
Shape of HDU(hdu 2108)
一个判断凹凸多边形的题目。利用叉积的公式:A(X1, Y1), B(X2, Y2), C(X3, Y2)AB * AC = (X2 - X1) * (Y3 - Y1) - (X3 - X1) * (Y2 - Y1)如果 > 0 三点成逆时针如果 = 0 三点在一条直线如果 #include struct node{ int x; int y;}n[110原创 2015-02-21 16:50:21 · 452 阅读 · 0 评论 -
多边形重心问题(nyoj 3)
题目传送门:点击打开链接关于多边形面积和多边形重心的问题 我觉得点击打开链接讲的不错。多边形面积:取多边形内的任意一点(也可以取原点),将此点与所有的顶点相连,将n顶点的多边形分成n个三角形,分别用叉积求每个三角形的面积 最后求和即多边形面积。如果所选的点就是某一个顶点,那么就将n顶点的多边形分成n-2个三角形。s = sum(point( i ) X point(i + 1) /原创 2015-03-02 16:35:04 · 781 阅读 · 0 评论 -
Wall(hdu 1348)
套用凸包的模板要注意调用求叉积的函数multi时 所传参数的顺序……在这死了好一会……#include #include #include #define pi atan(1.0) * 4using namespace std;struct point{ int x, y;}p[1100], stack[1100];int top;double dis(point原创 2015-02-28 20:52:06 · 491 阅读 · 0 评论 -
Surround the Trees(hdu 1392)
依旧是凸包题Graham 扫描法:但是有一些细节要注意,就是输入数据只有一个点或者两个点的时候。#include #include #include using namespace std;struct point{ int x, y;}p[110], stack[110];int top;double dis(point a, point b){ re原创 2015-03-02 10:39:23 · 513 阅读 · 0 评论 -
圈水池(nyoj 78)
圈水池时间限制:3000 ms | 内存限制:65535 KB难度:4描述有一个牧场,牧场上有很多个供水装置,现在牧场的主人想要用篱笆把这些供水装置圈起来,以防止不是自己的牲畜来喝水,各个水池都标有各自的坐标,现在要你写一个程序利用最短的篱笆将这些供水装置圈起来!(篱笆足够多,并且长度可变)输入第一行输入的是N,代表用N组测试数据(1第二行输入的原创 2015-02-22 17:19:46 · 592 阅读 · 0 评论 -
Buried memory(hdu 3007)
题目链接:点击打开链接最小圆覆盖问题,这个问题我看了好一整子……一组点的最小覆盖圆,应该有其中的两个点或者三个点在圆的边界上,其实两个点的情况就是两个点的连线是圆的直径。如果是两个点的情况,那么圆心就是两点连线的中点。如果是三个点的情况,那么圆心就是三个点所构成的三角形的外心,外心是三条边中垂线的交点。具体的求法:假设三个点(x1,y1),(x2,y2),(x3,y3)原创 2015-03-06 19:34:09 · 1176 阅读 · 0 评论