2107 Quoit Design 典型最近点对问题
POJ 3714 Raid 变种最近点对问题
B,最小包围圆
最小包围圆的算法是一种增量算法,期望是O(n)。
ZOJ 1450 Minimal Circle
HDU 3007 Buried memory
C,旋转卡壳
POJ 3608 Bridge Across Islands 旋转卡壳解两凸包最小距离
POJ 2079 Triangle 旋转卡壳计算平面点集最大三角形
1.2 比较简单的题目
HDU 3264 Open-air shopping malls ,圆面积相交问题,如果用二分法做的话不难
CII 3000 Tree-Lined Streets,几何+贪心
CII 4676 Geometry Problem,模板题
HDU 3272 Mission Impossible,枚举+镜面反射思想
POJ 3334 Connected Gheeves,二分答案,面积判定
POJ 1819 Disks,模拟一下
CII 3905 Meteor,貌似还是比较简单
ZOJ 2589 Circles,平面图的欧拉定理,圆的相交
POJ 2194 Stacking Cylinders,向量旋转
二。经典算法
2.1 三角剖分
三角剖分这个东西貌似去年流行了一下,高校联赛时某U连续出了两次。实际上对多边形进行三角剖分是一个很常见的算法思想,因为三角形是一个比较简单的凸多边形,可以对两个三角形比较容易地求公共面积,这也是三角剖分最常见的用途。对这个算法进行扩展,就可以求两个简单多边形的面积交了。主要是理解有向面积的概念。
第一类是圆与三角形的相交,主要做法是分情况讨论。
POJ 3675 Telescope 三角形剖分,圆与三角形的交
POJ 2986 A Triangle and a Circle 三角形剖分,圆与三角形的交
ZOJ 2675 Little Mammoth 三角形剖分,圆与三角形的交
第二类是多边形与多边形相交。
HDU 3060 Area2 简单多边形面积并,三角剖分
三角形剖分的另一种变种是梯形剖分,应用起来稍有局限性,但是比三角形剖分好写。
POJ 3148 ASCII Art 多边形梯形剖分,半平面交
多边形的重心问题,也是三角形剖分的应用:
CII 4426 Blast the Enemy!
2.2 极角排序
顾名思义,极角排序一般就是有一个圆心的问题,将平面上各个点按照与圆心极角进行排序。然后就可以在线性扫描之中解决一些统计问题。不过这类问题就稍稍超出计算几何范畴了。
UVA 11696 Beacons 颇为经典的极角排序的统计问题,记得darkgt大牛有一篇文章提到这个题目。
CII 4064 Magnetic Train Tracks,极角排序的统计问题,补集思想。
UVA 11704 Caper pizza
POJ 2280 Amphiphilic Carbon Molecules,极角排序相当巧妙地解决了这个问题。
2.3 扫描线算法
扫描线算法,需要使用到平衡树辅助,写起来比较复杂(对于本菜而言)。关于平衡树,我建议是直接使用STL的set或map。所以你需要掌握一些C++的知识,才能够看懂一份使用了map与set的代码。当年学习OI牛的代码我看得很纠结。不过只要理解了“事件点”这一个概念后就比较好办了。
HDU 3124 Moonmist 二分+扫描线。最近圆对,不存在改编最近点对的方法。不过当时数据弱,很多人乱搞过了
POJ 2927 Coneology 平衡树+扫描线,与上题类似。
下面两个题目都是关于多边形的扫描线算法,关于平面上许多凸多边形套了多少层的问题。
CII 4125 Painter ,这个是Final题,比较简单,是判断三角形嵌套层数的。
UVA 11759 IBM Fencing,上题是三角形,这题是多边形,稍稍难了一点。不过理解好扫描线算法的话应该没有问题。
2.4 其他题目
POJ 3528 Ultimate Weapon,模板化的三维凸包。知道几个三维有向体积的概念即可比较容易理解三维凸包的算法。三维凸包算法又是一种增量算法。
三。不确定算法/极值问题
POJ 3301 Texas Trip ,算是一种模拟退火求极值的问题,通过平面旋转找到最佳答案。
SPOJ 4409 Circle vs Triangle(AREA1),也是模拟退火
UVA 11562 Hard Evidence,应用三分极值法求极值。
四。传统几何、公式题
UVA有一个名叫Shahriar Manzoor喜欢出这些题目,喜欢这类题目的同志可以研究一本名叫《近代欧式几何学》的书。不过这些题目一般中学几何知识能够解决。
CII 4413 Triangle Hazard,梅涅劳斯定理,想不到SCNU校赛出到了
UVA 11524 InCricle,三角形内切圆性质联立海伦公式
CII 4714 In-circles Again,还是公式推导
POJ 2208 Pyramids,欧拉四面体公式
五。几何结合其他算法,麻烦题
转自:
http://www.cppblog.com/zzfmars/articles/121794.html