pku1263 光线反射
发表评论33次阅读2008.08.26 11:00 作者:Felicia 编辑
这个题是 sgu110 的二维版本,我直接把 sgu110 那题的`z`分量设成0的,嘿嘿:)
光线在球面的反射可以用向量法求解,不需要解方程。
(全文 …)
pku1294 极角序应用
发表评论22次阅读2008.08.25 11:14 作者:Felicia 编辑
这个题跟 pku1259 The Picnic 有些类似。具体做法是将除原点外所有点在全平面内极角排序,然后DP:
枚举起点`i`,设`f[j][k]`表示用`k`根橡皮筋圈住`i..j`的最小面积,可以转移到`f[j'][k + 1]`。
这样DP的时间复杂度是`O(bn^3)`。我一开始写的版本超时了,后来优化常数过的,很慢。如果有更好的做法请告诉我@_@
下面是我的主要代码
(全文 …)
pku1584 判断多边形是否为凸+点到多边形的距离
1个评论80次阅读2008.08.24 11:44 作者:Felicia 编辑
判断多边形是否为凸多边形,可以每次判断相邻两条边的方向是否相反,如果相反,那么是凹多边形。
下面的代码可以处理多边形为顺时针或者逆时针的情况。如果多边形上三点共线,返回2,如果是凸多边形,返回1,如果是凹多边形,返回0。
(全文 …)
pku1259 水平序与极角序
1个评论18次阅读2008.08.21 12:34 作者:Felicia 编辑
很早以前我就想做这个题了。我翻了一下提交记录,07年9月我曾经做过这个题,但是TLE了。最近忽然又翻出这个题来准备重新做一下。昨天晚上想了一会儿,感觉想到正确做法了,但是写的总是WA,我百思不得其解。
今天早上起来对照pku discuss上 zhangxiao1124 贴的代码,经过漫长的调试,终于发现我有一个地方没有考虑全面。
amath
这个题我的做法是枚举一个点做多边形的下顶点,然后对其上的点进行极角排序后DP。我在枚举一个点`O`的上方顶点时,写了如下代码
endamath
(全文 …)
多边形三角剖分的两个简单应用
发表评论71次阅读2008.08.01 9:53 作者:Felicia 编辑
圆和简单多边形的交是非常经典的计算几何问题,以下是pku上的相关题目
具体做法是将简单多边形按圆心剖分成一系列三角形,计算三角形和圆的交的有向面积
问题就可转化为顶点在圆心的三角形和圆的交的问题,而这个问题可以分情况讨论,情况不是很多,比较容易处理
有向面积的使用可以延伸到两个简单多边形的交:把两个多边形分别按原点剖分成三角形,计算每对三角形的交的有向面积。交的符号就是两个三角形有向面积符号的乘积,因此两个负的三角形交出一个正的面积(这个可以从数学上理解)。
下面是一个求简单多边形面积并的题目,可以转化为求交来解。
感谢Updog同学对我的帮助
