摘要: 题解:http://www.notonlysuccess.com/index.php/segment-tree-complete/题意:求矩形周长分析:与面积不同的地方是还要记录竖的边有几个(numseg记录)也就是[记录线段树被覆盖的区间有多少个],并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助)线段树操作:update:区间增减 query:直接取根节点的值// File Name: 1177.cpp// Author: Zlbing// Created Time: 2013/7/20 19:53:20#include#include#include#include#incl 阅读全文
posted @ 2013-07-20 20:56 z.arbitrary 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 题意:求矩形面积并分析:使用线段树+扫描线...因为坐标是浮点数的,因此还需要离散化!把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用col表示该区间有多少个下边,sum代表该区间内被覆盖的线段的长度总和这里线段树的一个结点并非是线段的一个端点,而是该端点和下一个端点间的线段,所以题目中r+1,r-1的地方可以自己好好的琢磨一下详细分析下扫描线第一次完全看懂扫描线.像这题的样例:这么两个矩形,现在要求它的面积并.假设我门将横边座位扫描线,即每个矩形有两条扫描线,下扫描线,下扫描线,每条扫描线我们用结构体const int MAXN=250;struct seg{ dou... 阅读全文
posted @ 2013-07-20 17:06 z.arbitrary 阅读(464) 评论(0) 推荐(0) 编辑