摘要: 题意: 给出 N 个矩形,可以相互覆盖,求所有矩形合在一起的轮廓总长度。分析:先对所有矩形按左下角的Y 坐标排序,让矩形的所有点向 X 轴投影,记录所有的投影的X值,对X 排序,分段累加X 坐标差值; ① 如果 s[i].y1>up 说明两个矩形没有交集,即新的矩形没有被前一个矩形覆盖到 ,res+=2*(right[i]-right[i-1]) 累加新的横边覆盖值。 ② 如果 s[i].y2>up 说明新的矩形下边界在该 相邻 X 的区间被覆盖,所以只要更新给 区间的上边界 UP=s[i].y2 然后对矩形按左下角的X 坐标排序,让矩形向y轴作投影,最后按照类似的方法求出 所有竖 阅读全文
posted @ 2012-07-31 19:33 'wind 阅读(295) 评论(0) 推荐(0) 编辑