计算几何
文章平均质量分 76
Andymion
这个作者很懒,什么都没留下…
展开
-
UVALive 6859
题目大意是给定一些点,在坐标网格上,用另外的点围成一个多边形包围这些点,并使多边形的周长尽量小,同时注意边的斜率只能是90度或者45度 思路 凸包 为了保证周长尽量小,我们选用的点就是和给定的点的相邻点,用Graham扫描法扫描这些点,可以求出一个大体的凸包 最后处理这些边的长度时,如果是90度或者45度直接加和,否则则对这个边进行分解,再加和。#include #inclu原创 2016-08-17 21:44:56 · 542 阅读 · 0 评论 -
UVa 10652 Board Wrapping
题意是给定一些矩形,用一条线包围所有的矩形,同时要求包围的面积最小。 思路 凸包 实质就是自己算出所有矩形的四个顶点,求凸包,然后求面积即可。 #include #include #include #include #include #include #include using namespace std; const double eps = 1e-10; const原创 2016-08-20 00:30:06 · 337 阅读 · 0 评论 -
UVa1331
题目大意就是对一个多边形进行三角剖分。 wiki的三角剖分https://en.wikipedia.org/wiki/Triangulation_(geometry) 问怎么剖分使得最大三角形的面积最小。 对于凸多边形,都有状态转移方程 d(i, j) = Min{d(i, k), d(k,j), S(i, j, k)} 但是题目中给的不一定是凸多边形,则在对任意一个子多边形,如果有任意原创 2016-09-25 16:28:49 · 656 阅读 · 0 评论 -
UVa 1001
题目大意是给定n个球形的洞,一个起点和一个终点,球体之间可以相交,球体内部是瞬间移动,其余的是一个单位要10sec 时间移动,问最短需要多少时间 思路 floyd 我们把每个球体抽象成一个点,若两个球体相交,则距离是0,若不相交,则两个点之间的距离就是圆心之间的距离减去两个球体的半径 然后把起点和终点当成两个没有半径的球体,最后用floyd求最短路即可。最后算出最短时间。 #inclu原创 2016-09-25 21:41:47 · 365 阅读 · 0 评论