几何
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 · 467 阅读 · 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 · 515 阅读 · 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 · 400 阅读 · 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 · 478 阅读 · 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 · 868 阅读 · 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 · 402 阅读 · 0 评论 -
hdoj 5839 Special Tetrahedron 叉积点积判断四点共面模板
枚举对角线求出所有等腰三角形 然后继续枚举 实际可有去除很多情况 然后去重就行了#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #define maxn 500 #define LL long long using namespace std; struct point { LL x,y,z;原创 2016-08-16 22:26:46 · 496 阅读 · 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 · 412 阅读 · 6 评论