几何
acblacktea
永不放弃
展开
-
hdoj2050折线分割平面
捋一下思路, 具体思想是当每加条线与其他已加线都相交时满足平面最多 1,当n条直线相交时的状态比n-1条相交直线多了n-1条多了n-1个交点,增加了n个平面(为什么?画图猜出来的)所以fn = fn-1 +n; 2,当每次加一对平行直线,同理上式double就行了;fn=fn-1 +2*(2*(n-1)+1)此时n为第几对而不是第几条, 3将平行直线一侧相交,就是这种情况了,相交一侧面减1,原创 2015-10-18 23:13:13 · 475 阅读 · 0 评论 -
poj-1265-area几何水题+pick定理模板
知识点 1.s= 边上点的数量/2+内点数量-1; 2.边上点的求法 am = gcd(x1-x2,y1-y2); 3.面积求法 凸包或有凹点都用叉积公式,不能化成一个个三角形求。#include<cmath>#include<cstring>#include<queue>#include<stack>#include<set>#in原创 2015-12-04 22:39:17 · 525 阅读 · 0 评论 -
aoj-733-闭合折线
1.先按x从小到大排序,再按y从小到大排序,x值相同的各点数肯定为偶数且从下到上两两匹配形成一组线段 2.判断在点内点外的方法应该会几何的都知道。。。毕竟我这种渣货都能熟练敲出来。#include<cstdio>#include<cmath>#include<cstdlib>struct point{ int x,y;}p[20000],p1;int cmp(const void原创 2016-03-20 15:19:29 · 412 阅读 · 0 评论 -
poj-1408-计算两线相交点坐标模板
4个点 (a1,b1) (a2,b2)组成一条线 (c1,d1) (c2,d2)组成一条线 x= ( (a2-a1)(c2-c1)(d2-b2) +(b2-b1)*(c2-c1)*a2 -(d2-d1)*(a2-a1)*c2 ) / ( (b2-b1)*(c2-c1) -(d2-原创 2016-02-26 20:52:41 · 496 阅读 · 0 评论 -
poj-1584 判断凸包算法+极角排序+判断点在几何内外 模板
几何问题的重点 1 精度问题 有时答案一直错不是因为算法错误 而是精度没有处理好 2 代码能力 几何代码量较大 要不断练习熟能生巧,否则因为一个bug可能要查错很长时间#include<cstdio>#include<cmath>#include<stack>#include<algorithm>using namespace std;struct point{ double原创 2016-03-01 12:36:23 · 883 阅读 · 0 评论 -
Poj-2031 最小生成树+几何
用最短距离使几个球联通,最小生成树,两点距离为几何知识。#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>using namespace std;struct edge{ int x,y; double v;}e[20000];int fa[200],am[200];double a原创 2016-02-25 21:03:56 · 409 阅读 · 0 评论 -
hdoj 5839 Special Tetrahedron 叉积点积判断四点共面模板
枚举对角线求出所有等腰三角形 然后继续枚举 实际可有去除很多情况 然后去重就行了#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define maxn 500#define LL long longusing namespace std;struct point{ LL x,y,z;原创 2016-08-16 22:26:46 · 506 阅读 · 0 评论 -
HDU 5120 Intersection 求两圆相交面积模板
这题容斥原理求覆盖面积就行#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>#include<cmath>#define maxn 2200005#define LL long long#define lson i<<1#define rson (i<<1)+原创 2016-08-07 22:32:14 · 426 阅读 · 6 评论