随笔分类 - 计算几何
参数方程下直线交点公式(蓝书257)
摘要:参数方程下直线交点公式(蓝书257) &理解: 这块不是很懂,但书上写的却是过程略 = = ,在贴吧群里问了q巨,给了一张证明的图,感觉理解了好多.图如下:
阅读全文
UVA 11796 Dog Distance(几何)
摘要:Dog Distance 【题目链接】 " Dog Distance " 【题目类型】 几何 &题解: 蓝书的题,刘汝佳的代码,学习一下 &代码: c++ // UVa11796 Dog Distance // Rujia Liu include include include using name
阅读全文
UVALi 3263 That Nice Euler Circuit(几何)
摘要:That Nice Euler Circuit 【题目链接】 " That Nice Euler Circuit " 【题目类型】 几何 &题解: 蓝书P260 要用欧拉定理:V+F=E+2 V是顶点数;F是分成了多少区域,也就是本题的答案;E是有多少条边,比如2条线段相交,就有4条边,而不是2条.
阅读全文
UVA 11178 Morley's Theorem(几何)
摘要:Morley's Theorem 【题目链接】 " Morley's Theorem " 【题目类型】 几何 &题解: 蓝书P259 简单的几何模拟,但要熟练的应用模板,还有注意模板的适用范围和传参不要传混了 &代码: c++ include using namespace std; define
阅读全文
计算几何模板(蓝书)
摘要:计算几何模板(蓝书) &代码: c++ //蓝书P255 //1.点的定义 struct Point { double x,y; Point (double x=0,double y=0):x(x),y(y) {} }; //点和向量是一样的内容 所以会出来2个名字 typedef Point Ve
阅读全文
计算几何模板
摘要:1400行代码版 / 计算几何 目录 ㈠ 点的基本运算 1. 平面上两点之间距离 1 2. 判断两点是否重合 1 3. 矢量叉乘 1 4. 矢量点乘 2 5. 判断点是否在线段上 2 6. 求一点饶某点旋转后的坐标 2 7. 求矢量夹角 2 ㈡ 线段及直线的基本运算 1. 点与线段的关系 3 2.
阅读全文
POJ 1410 Intersection(计算几何)
摘要:题目大意:题目意思很简单,就是说有一个矩阵是实心的,给出一条线段,问线段和矩阵是否相交解题思路:用到了线段与线段是否交叉,然后再判断线段是否在矩阵里面,这里要注意的是,他给出的矩阵的坐标明显不是左上和右下的坐标,需要自己去判断下左上点与右下点的坐标。
阅读全文
计算几何入门模板
摘要:我也算是刚入门计算几何吧,想写一篇入门的模板,让那些和我一样刚入门的人都能看懂就好。 首先要有一些理论知识,这可以百度,我就不多说了,通过百度,你要知道: ①叉积可以判断3个点共线,还可以判断2个点构成直线,第3个点在直线的左边还是右边。 ②判断两条线段相交要有2个条件:(1)快速排斥试验 设以线段
阅读全文
POJ 1066 Treasure Hunt(计算几何)
摘要:题意:给出一个100*100的正方形区域,通过若干连接区域边界的线段将正方形区域分割为多个不规则多边形小区域,然后给出宝藏位置,要求从区域外部开辟到宝藏所在位置的一条路径,使得开辟路径所需要打通的墙壁数最少("打通一堵墙"即在墙壁所在线段中间位置开一空间以连通外界),输出应打通墙壁的个数(包括边界上
阅读全文
POJ 1556 The Doors(线段交+最短路)
摘要:#include #include #include #include #include #include #include #include #include #include using namespace std; const double eps = 1e-8; int sgn(double x) { if(fabs(x) = min(l2.s.x,l...
阅读全文
POJ 2318 TOYS(计算几何)
摘要:题目大意:有一个矩形盒子,盒子里会有一些木块线段,并且这些线段是按照顺序给出的,有n条线段,把盒子分层了n+1个区域,然后有m个玩具,这m个玩具的坐标是已知的,问最后每个区域有多少个玩具 解题思路:因为线段是有序给出,所以不用排序,判断某个点在哪个区域,采用二分法,将某个点和线段的叉积来判断这个点是
阅读全文
HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)
摘要:这虽然是中文题,然而没看懂,不懂的地方,就是在曼哈顿距离这块,网上搜索了一下,写了个程序,是测试曼哈顿距离的。 曼哈顿距离:两点(x1,y1)(x2,y2)的曼哈顿距离为|x1-x2|+|y1-y2| 测试代码: 这是根据测试样例的背景写的,i,i1是所给坐标,最后输出*的地方,就是他对应的曼哈顿距
阅读全文
浙公网安备 33010602011771号