ACM计算几何题目推荐(第二期)

ACM计算几何篇 1 前言 1.1 计算几何算法 1.2 计算几何题目特点及要领 1.3 预备知识 2 凸包 2.1 定义 2.1.1 凸多边形 2.1.2 凸包 2.2 颜料配色问题 2.2.1 问题描述 2.2.2 问题简化 2.2.3 问题抽象 2.2.4 数学抽象 2.2.4.1 Convex Combination And Affine Combination 2.2.4.2 区别与联系 ... 阅读详情
这次推荐的题目比上次难了,也复杂多了。

PS:下面的OJ之中,CII是指ACM-ICPC Live Archive ,网址是:
http://cii-judge.baylor.edu/

一。基础题目
1.1 有固定算法的题目

A, 最近点对问题
最近点对问题的算法基于扫描线算法。
ZOJ    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,欧拉四面体公式

五。几何结合其他算法,麻烦题

HDU    2297 Run,百度杯的题目,利用到了zzy的半平面交的极角排序思想。
CII 4448 Conduit Packing,问一个大圆能否放下四个小圆。颇为变态的Final题,算法都很基础,就是二分一个答案,枚举两个已知圆,求与已知的两圆公切的第三个圆,枚举放置的位置……关键是不好想。
CII 4510 Slalom 几何+最短路
UVA    11422 Escaping from Fractal Bacterium    ,麻烦题,主要还是向量旋转。
HDU    3228 Island Explorer,利用了最小生成树的性质。
CII 4499 Camera in the Museum,有关圆形处理的,很不错的题目。
CII 2395 Jacquard Circuits,Pick公式的应用
POJ 3747 Scout YYF II,又是一个几何问题,需要猜想一下。
POJ 3336 ACM Underground,几何预处理,并查集
CII 4428 Solar Eclipse,也是不错的题目,涉及圆的问题
CII 4206 Magic Rings,dancing links解重复覆盖问题,二分,百度杯也有个类似的题目。
POJ 1263    Reflections,与下面一个题目都是一类光线在球面上反射问题。解决方法是解析几何,参数方程,向量旋转等等。
CII 4161 Spherical Mirrors,上面题目的三维版本。
POJ 3521 Geometric Map,复杂的预处理,可以用于自虐
CII 3270 Simplified GSM Network    虽然有着V图的模型,但是规模小,所以无须出动V图算法,用半平面交即可。变态级的V图算法可以咨询三鲜教主。
CII 4617 Simple Polygon,平面上有一堆点,叫你用一笔画把这些点连起来,连成一个闭合的简单多边形,线不允许出现相交。改造一下凸包算法即可。

当然,除了上述的题目外,还有许多比较精彩的计算几何题目等待大家发掘。


转载自:http://hi.baidu.com/novosbirsk/item/8613af13674fb40e8ebde43c

ACM计算几何题目推荐 把下面的东东都看看,题目刷刷应该就差不多了吧哈。。哈哈。。 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专业,GIS)。以后若有机会,我会补充、完善这个列表。 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路 阅读详情

相关推荐

50题(ACM学习推荐题)

POJ推荐50题 1. 标记“难”和“稍难”的题目可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉。 2. 标记为 A and B 的题目是比较相似的题目,建议大家两个一起做,可以对比总结,且二者算作一个题目。 3. 列表中大约有70个题目。大家选做其中的50道,且每类题目有最低数量限制。 4. 这里不少题目在 BUPT ACM FTP 上面都有代码,请大家合理利

天使之剑? 2912

ACM计算几何题目推荐(2)

<br />之前写过一篇《POJ计算几何入门题目推荐》。本来是随意写写,想不到这篇文章成为了我 blog浏览量第二高的文章,还被许多ACMer转载到其他地方。最近估计ACM赛季又到了,不少热心的ACMER加我Q,询问我那篇文章的事情,希望我再给出一些题目。<br /><br />本人已经退役了,本来不想再写一些关于ACM的东西了,以免因为自己水平有限,思想落后,误导他人。不过后来想到这个空间晾着也比较尴尬,让各位找新文章的 ACMER经常扑空我十分过意不去,所以整理了一下以前做过的计算几何题目,写第二份题目

天空不留下鸟的痕迹,但我已飞过! 1406

ACM 训练大纲(CSUST_ACM)

ACM 训练大纲 Changsha University of Science & Technology July 31, 2012 1 推荐题库 • http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化, 全部的题解及标程还有题目翻译可以baidu 一个叫N

bo-jwolf的专栏 2655

几何题集

一。基础题目 1.1 有固定算法的题目 A, 最近点对问题 最近点对问题的算法基于扫描线算法。 ZOJ    2107    Quoit Design    典型最近点对问题 POJ    3714    Raid    变种最近点对问题 B,最小包围圆 最小包围圆的算法是一种增量算法,期望是O(n)。 ZOJ    1450    Minimal Circle  

九野的博客 2119

深入解析luckyExcel处理xlsx与xls文件的实战技巧

本文深入解析了使用luckyExcel库在前端处理.xlsx与.xls文件的实战技巧。针对.xlsx文件,可直接调用API转换;对于老旧的.xls格式,则需结合SheetJS进行预处理。文章详细介绍了核心API的使用、两种格式的处理流程、数据提取方法以及性能优化建议,为开发在线Excel编辑应用提供了完整解决方案。

cherry的博客 818

机载电脑与飞控串口通信(实测读取飞控IMU数据)《一、香橙派5max启动串口UART通信与飞控板通信,一次必通!》《二、allspark1与PIX6C通信踩坑及出坑》《三、orinnx载板与飞控通信》

机载电脑与飞控串口通信(实测读取飞控IMU数据)《一、香橙派5max启动串口UART通信与雷迅v5nano飞控板通信,一次必通!》《二、阿木机载电脑allspark1与PIX6C通信踩坑及出坑》,还有如何打开飞控串口以及如何提高飞控IMU频率。

2402_82745259的博客 3471

计算几何题集

计算几何题集 分类: 计算几何 2014-04-19 23:29 86人阅读 评论(0) 收藏 举报 小媛在努力大大题集:点这里 POJ 计算几何入门题目推荐      其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如

ecjtu_acm_菜鸟—鱼尾尾 956

python123题目——判断火车票座位B(异常)

类型:流程控制。

m0_62488776的博客 3569

计算几何基础题目

大爱计算几何,做这些题目,感觉又回到了以前没日没夜的解数学题的时候一样 不过毕竟很多事情都过去了,尽量多刷吧 转载来自:http://blog.sina.com.cn/s/blog_49c5866c0100f3om.html 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际

free斩 1705

Cursor赋能Qt C++:从环境配置到项目构建的AI开发新范式

本文详细介绍了如何利用Cursor工具链提升Qt C++开发效率,从智能环境配置到CMake项目构建的全流程实践。通过AI辅助编程、Qt生态优化及高级调试技巧,开发者可快速完成从传统开发到AI驱动的新范式转换,显著缩短项目搭建时间并提升代码质量。

weixin_30329623的博客 547

【nvidia-B200 生产环境】NVIDIA 570.124.06+Cuda12.8 Ubuntu22.04 nccl-test 一键部署脚本(免修改复制即用)

目录1. 初始化与日志记录2. 安装基础工具与配置更新3. NVIDIA 驱动安装 570.124.064. 安装 Mellanox OFED 24.10-2.1.8.05. 安装 CUDA 12.86. 安装 NCCL 和测试7. 配置 rc.local 和其他优化8. B200 单独步骤9. 最终测试与重启10. 完整生产脚本,复制即可直接使用总结 功能: 设置日志目录和日志文件路径。 使用 命令将标准输出和错误输出同时写入日志文件和终端。 记录脚本开始时间,并计算开始的秒数

jundao1997的专栏 2798

计算几何题目推荐

把下面的东东都看看,题目刷刷应该就差不多了吧哈。。哈哈。。 其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专业,GIS)。以后若有机会,我会补充、完善这个列表。 计算几何题的特点与做题要领: 1.大部分不会很难,少

881

手把手教你学simulink(8.2)--simulink的实战案例:信号分析

通过以上步骤,你已经成功使用 Simulink 对信号进行了频谱分析和时域分析,提取了信号的有用信息。这个案例展示了如何创建 Simulink 模型、添加和连接模块、设置仿真参数、运行仿真以及分析结果。希望这个案例能帮助你更好地理解和使用 Simulink 进行信号分析。

MHD0815的博客 1124

POJ 计算几何入门题目推荐(转)

POJ 计算几何入门题目推荐(转)       其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专业,GIS)。以后若有机会,我会补充、完善这个列表。 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何

阿蒋的专栏 1464

RK3568平台开发系列:Android环境下CAN的使用

在RK3568平台上,我们可以利用Android环境中的API来实现CAN的使用。通过以上步骤,我们可以在Android应用中发送和接收CAN数据,并进行相应的处理。当接收到CAN数据时,将触发onMessageReceived回调方法,我们可以在这个方法中对接收到的数据进行处理。在上述代码中,我们指定了CAN的ID为0x123,数据为{0x01, 0x02, 0x03},并设置了标志位和周期。接收CAN数据需要注册一个监听器,并在监听器中处理接收到的数据。发送CAN数据需要指定CAN的ID和数据。

2301_79330513的博客 1912

【Bug已解决】codex file edit fails / Write operation denied — CodeX CLI 文件编辑失败解决方案

CodeX CLI 编辑文件时报写入被拒绝,本质是沙箱限制或权限不足。文中给出配置允许目录、修复权限、Git stash 管理冲突等完整方案。

一键难忘的博客 4301
上一篇: 使用STL输出组合序列 + UVa 441 Lotto
下一篇: memset另类初始化测试 (二)——double
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值