计算几何
文章平均质量分 67
Drenight
Dream in the night.
展开
-
An Easy Physics Problem HDU - 5572 直线与圆
//#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #include #include #include using namespace std; const double pi=ac原创 2017-07-19 20:49:59 · 249 阅读 · 0 评论 -
[HNOI2008]水平可见直线 半平面交
求向直线们的俯视视角中可见的直线,以为是选最大最小斜率然后往中间放。。其实就是半平面交 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #inc原创 2017-10-12 19:53:10 · 222 阅读 · 0 评论 -
Bridge Across Islands POJ - 3608 凸多边形间最小距离/旋转卡壳
旋转的部分始终感觉有点别扭。。后来发现是因为叉积顺序为负。。 所以让三角形面积逐渐变大实际上就是让三角形面积变小(绝对值意义上的),这样就是让高变小了。。 至于为什么要选最下和最上。。应该是为了满足两条线始终可以生成所有多边形间的对踵点对吧? //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #原创 2017-09-27 23:43:08 · 276 阅读 · 0 评论 -
最大三角形 HDU - 2202 旋转卡壳模板
整理了一下旋转卡壳的模板,把接口统一了一下 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #include #include #inc原创 2017-09-27 16:01:14 · 189 阅读 · 0 评论 -
Surround the Trees HDU - 1392 凸包周长(Andrew)
这题小trick在于n=2是不能乘2的,也就是只算两点距离 看你怎么理解凸包吧。。 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #incl原创 2017-09-27 00:11:37 · 213 阅读 · 0 评论 -
Grandpa's Estate POJ - 1228 Andrew凸包模板/稳定凸包
稳定的凸包满足:在加新点使凸包扩大时,新凸包无法包含原来的所有顶点 换句话说,一个稳定的凸包的每一条边上都有至少三个顶点 题目数据比较水,没有所有点共线的特判(非稳定),我也就懒得写了 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #inclu原创 2017-09-26 20:31:48 · 203 阅读 · 0 评论 -
Cows POJ - 3348 凸包面积/Andrew凸包模板
Andrew似乎是Graham的上位替代? 反正15行的代码长度还是很有保存价值的 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #incl原创 2017-09-26 02:41:09 · 215 阅读 · 0 评论 -
Wall POJ - 1113 凸包模板
要求包围所有n个点并且距所有点距离大于L的多边形周长 这个多边形的周长可以通过凸包上的边做平移加上一个半径L的圆辅助转向得到 所以就是求凸包周长加上圆周长 主要是为了试试凸包的接口,实现用的是Graham,应该是单调栈吧? //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include原创 2017-09-24 02:28:23 · 154 阅读 · 0 评论 -
叉积极角排序
atan2的精度损失有点蛋疼。。 还是用叉积吧,不过要注意共射线的情况,像(1,1),(2,2)这种的 bool ji_jiao(Point a,Point b){ Point origin; origin.x=origin.y=0; Point p1=(Point){a.x-origin.x,a.y-origin.y}; Point p2=(Point){b.x-origin.x,b原创 2017-09-26 01:16:37 · 454 阅读 · 0 评论 -
度度熊保护村庄 HDU - 6080 floyd最小环/叉积判左右
点在向量同侧的话就把向量的两个点连一条路,最后跑一次floyd求到自己的最小环 不知道为什么500^3跑得飞快 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #原创 2017-08-14 16:49:33 · 390 阅读 · 0 评论 -
Runaway to a Shadow 幅角相关函数的运用的板子
atan2(y,x):表示点(x,y)的方位角,值域(-pi,p],想跟高中几何象限定义统一就加个pi,asin,acos返回值都可以用作角度来在方位角上加减,在这基础上就可以很方便地算三角函数了//#include<bits/stdc++.h> #pragma comment(linker, "/STACK:1024000000,1024000000") #include&...原创 2018-03-14 01:13:37 · 431 阅读 · 0 评论