E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
hdu1542
扫描线入门&HDU_1542
先来看一个例题例题:
HDU1542
给定平面上的n个矩阵,不同矩阵之间可能有覆盖的部分,问你最后有矩阵覆盖的面积为多少。
z472421519
·
2020-09-17 14:26
数据结构
hdu1542
(矩形面积并)
链接:点击打开链接题意:给出n个矩形的左下角和右上角的坐标,求矩形面积的并代码:#include#include#include#includeusingnamespacestd;constintSIZE=505;intadd[SIZE>1;if(Lm)update(L,R,c,m+1,r,rt<<1|1);pushup(rt,l,r);}intmain(){//用的是从下到上扫描,也就是扫描线,
Stayaccept
·
2020-09-17 13:41
---------线段树
矩形面积并、矩形面积交、矩形周长并(线段树、扫描线总结)
HDU1542
[POJ1151]Atlantis(矩形面积并)题意:求N#include#include#include#include#include#include#include#include#
TaoSama
·
2020-08-18 08:30
算法导学
数据结构
-
线段树
POJ1151
HDU1542
CODEVS3044 Atlantis 题解&代码
矩形面积求并思路:离散化之后按x轴or按y轴刷扫描线,用线段树来表示区间范围。**被POJ的%.2f输出坑了一个多小时的我并没有心情仔细写题解,有机会再补吧#include#include#include#include#definelson(ohx,hy;mapvis;constintmaxn=105;intT,n,p[maxn*2],val[maxn*2],tot,cnt,flag[maxn*
Rainbow6174
·
2020-08-13 12:12
POJ
HDU
线段树
CODEVS
HDU学习记录
POJ刷题记录
HOJ1119/
HDU1542
Atlantis HOJ1909/POJ1177 Picture
第一题:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542题意:求多个长方形在平面上所覆盖的面积和。扫描线。从下往上扫描,浮点数离散化处理。思路参考:http://www.cnblogs.com/scau20110726/archive/2013/03/21/2972808.html#include#include#include#include
niuox
·
2020-08-13 10:48
Algorithm_线段树
扫描线 + 线段树
HDU1542
(覆盖矩形面积) + HDU1828(覆盖矩形周长)
AtlantisAtlantisTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):22879AcceptedSubmission(s):9083ProblemDescriptionThereareseveralancientGreektextsthatcontainde
Adolphrocs
·
2020-08-08 01:11
模板
acm
2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:Overlapping Rectangles
这个题目有九百多人做出来了,因为这个是航电上的一个原题,就是
HDU1542
,那个题也是给出N个矩形的坐标,让求面积的并,利用线段树求矩形面积的并。之前刚好做过这个题目。比赛时代码拿出来改了改就提交了。
温姑娘
·
2020-08-04 08:22
ACM_线段树及其扩展
矩形面积并
例题:
hdu1542
题意:裸题从下面往上扫,扫到一个矩形的下底,那么对这个矩形底所在的x的区间都加上1。如果是上底的话就要减去1。
bnc1010
·
2020-07-11 19:53
数据结构
HDU1542
Atlantis【线段树+扫描线+离散化】
Atlantishttp://acm.hdu.edu.cn/showproblem.php?pid=1542TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):21633AcceptedSubmission(s):8576ProblemDescriptionTherear
Enjoy_process
·
2020-07-10 23:57
数据结构
[POJ1151][
HDU1542
]Atlantis(线段树,扫描线)
英文题面,我就只放个传送门了。Solution题意是算矩形面积并,这是扫描线算法能解决的经典问题。算法的大致思想是,把每一个矩形拆成上边和下边(以下称作扫描线),每条扫描线有四个参数l,r,h,v。l和r为它的左右端点的横坐标,h为扫描线的纵坐标,v下面再解释。然后把扫描线按h从小到大排序,想一想,所有相邻扫描线之间的有效面积(即被矩形覆盖的面积)加起来是不是就是ans?怎么求呢?我们从下往上处理
青君
·
2019-07-29 17:00
hdu1542
Atlantis(线段树-扫描线求面积并)
题目给定n(n#include#include#include#include#includeusingnamespacestd;constintmaxn=2005;intcas,n,now;doubleans;doublex[maxn];doublex1,y1,x2,y2;structnode{intl,r;doublelen;//每个节点都维护一个线段长度intcnt;//当前有cnt条重叠的
Code92007
·
2019-05-01 22:56
线段树(权值线段树)/树状数组
一篇文章搞懂扫描线算法(线段树)
HDU1542
主要解决的是ACM中的矩形面积问题矩形周长问题多边形面积问题这篇博客主讲的问题是:求矩形面积并
HDU1542
题目分析这道题最主要就是让我们求解矩形面积并,求解矩形面积并如果不用任何优化方式,那就
Mr. Water
·
2019-03-13 00:23
算法
HDU 1542 Atlantis 线段树扫描线求矩形并面积
HDU1542
思路:线段树扫描线模板。
Dave_L
·
2018-11-24 21:40
线段树
【
HDU1542
】Atlantis (扫描线的经典运用)
点此看题面大致题意:给你NNN个矩形,请你求出它们覆盖的面积(重叠的面积只算一次)。扫描线这道题是一道典型的求矩形面积并问题,是扫描线的一个经典运用。这里就不赘述了。LinkLinkLink扫描线求矩形面积并详见博客扫描线(一)——求矩形面积并代码#include#defineN100usingnamespacestd;intn,cnt,Exist[Np,p_;mapf,f_;//线段树模板---
chenxiaoran666
·
2018-07-28 19:56
HDU
线段树
扫描线
离散化
线段树(扫描线)求面积并, 交以及周长
hotel的网好差…..线段树求面积并
HDU1542
题意:给几个矩形,求总面积,重叠部分只算一次。
bllsll
·
2018-01-24 22:51
线段树
树状数组
矩形面积并
HDU1542
扫描线+线段树维护(每个节点所在的区间被覆盖的次数,和被覆盖的长度的和)线段树[l,r]表示∫d−1(r)−1d−1(l)f(x)dx,f(x)=1(当且仅当x位置被覆盖),d(x)表示x离散化的映射。#includeusingnamespacestd;templatestructDiscretization{#defineBUF_SIZE2005//usingdtype=int;Tbuf[BUF
CZWin32768
·
2017-08-14 18:49
线段树
HDU1542
Atlantis 基于线段树的扫描线
该题求的是矩形的面积和(重叠部分只算一次)思路:利用二分离散化坐标(因为是浮点数),以横轴建立坐标系,矩形的上下边的长度作为区间去构造线段树,维护cnt[]数组(表示当前边属于下边还是上边,下边为-1,上边为1)和sum[]数组(当前区间覆盖的边的长度),一开始我觉得很难看得懂,我也是调了别人AC的代码很久才明白的。#pragmacomment(linker,"/STACK:1024000000,
DIDCJS
·
2017-04-11 21:43
线段树
【置顶】博文精选
www.byvoid.com/zhs/ACdreamers:http://blog.csdn.net/acdreamers算法与数据结构夜深人静写算法(四)-差分约束数据结构之AVL树线段树详解(原理,实现与应用)
hdu1542
programmy
·
2016-11-05 22:46
其他
精
hdu1542
扫描线+线段树
给n个矩形(边平行于坐标轴)求围起来的面积裸的扫描线+线段树#include#include#include#include#include#includeusingnamespacestd;#definessprintf("orz\n");#definemaxn2000#definelsonl,mid,rt>1intn,n1,n2;doublexx[maxn],yy[maxn];inttag[m
WJSZMRX
·
2016-11-05 15:26
hdu
线段树
HDU1542
线段树+离散化+扫描线
AtlantisTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11171AcceptedSubmission(s):4734ProblemDescriptionThereareseveralancientGreektextsthatcontaindescriptio
Sherlock_n
·
2016-08-11 21:29
ACM-线段树
hdu1255 覆盖的面积(矩形面积交+扫描线)
思路:和
hdu1542
基本一样,只不过这题是求面积交。len1代表线段被覆盖一次,len2代表线段被覆盖两次。关键点就在节点的长度更新上。
Flynn_curry
·
2016-05-15 10:02
hdu
数据结构-线段树&树状数组
HDU1542
Atlantis(线段树+扫描线)
AtlantisTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):10274AcceptedSubmission(s):4381ProblemDescriptionThereareseveralancientGreektextsthatcontaindescriptio
KeyboardPianist
·
2016-04-15 00:50
HDU
线段树
【
HDU1542
】Atlantis【线段树】【矩形面积并】
【题目链接】注意pushup那里是给sum赋值不是给sum加。/*Pigonometry*/ #include #include #include usingnamespacestd; typedefdoubleDB; constintmaxn=105; intn,m,tot,tr[maxn>1; if(disc[mid]>1; if(ymid)insert(p<<1|1,mid+1,r,
BraketBN
·
2016-04-13 21:00
矩形面积并
hdu1542
矩阵面积并+线段树+离散化+二分+扫描线
这道题还是反应出我的很多问题一开始我的没有接触过扫描线这东西于是找博客学习了先对着1542的cpp使劲看觉得自己看的差不多了就开始自己写(我觉得编程你觉得自己看懂了没用还是自己理解了写出来懂的比较透彻)也发现了自己很多问题比如freopen这个东西虽然调试的时候比较方便但是很多时候交题的时候忘了注释掉,这还是比较尴尬的。所以我觉得自己还是不能有这个坏习惯,还是不要偷懒,每次写freopen都加上条
mymilkbottles
·
2016-02-28 16:00
HDU 1542 HDU 1225 (线段树扫描线)
HDU1542
题意:最初始扫描线,想看模拟过程的可以去看上面那个博客,模拟一下就知道了。
只玩三国的程序猿
·
2016-02-11 14:18
数据结构
hdu1542
链接:点击打开链接题意:给出n个矩形的左下角和右上角的坐标,求矩形面积的并代码:#include #include #include #include usingnamespacestd; constintSIZE=505; intadd[SIZE>1; if(Lm) update(L,R,c,m+1,r,rt<<1|1); pushup(rt,l,r); } intmain
sushengmiyan
·
2016-01-12 12:00
POJ1151
HDU1542
CODEVS3044 Atlantis 题解&代码
矩形面积求并思路:离散化之后按x轴or按y轴刷扫描线,用线段树来表示区间范围。**被POJ的%.2f输出坑了一个多小时的我并没有心情仔细写题解,有机会再补吧#include #include #include #include #definelson(ohx,hy; mapvis; constintmaxn=105; intT,n,p[maxn*2],val[maxn*2],tot,cnt,fla
Rainbow6174
·
2015-12-04 20:00
C++
poj
poj
HDU
codevs
线段树+扫描线两题
hdu1542
hdu1828
hdu1542Atlantis题意很简单就是给几个矩形的左下角坐标及右上角左边。求这几个矩形覆盖到的面积。初学扫描线,太渣了各种不会,搜博客看到的都是粘贴别人的,无奈用了一个周六才完成。这个题的思路大概是对纵坐标离散建立线段树。依次插入排序后的竖边。iff为1则为入边,为0则为出边.面积等于每次插入时两个竖边距离与当前线段树中总长度的积之和。我的渣渣代码:#include #include #in
hfengzhi
·
2015-11-21 11:00
线段树
离线
扫描线
矩形合并
UVA11983 - Weird Advertisement(扫描线)
题目大意:这题和
hdu1542
是一个题型。可是这题求的是覆盖k次的点。所以pushup里面就要改一下。详细的看代码把。大概的意思就是每次都是通过以下的两个孩子节点的覆盖信息更新父节点的覆盖信息。
·
2015-11-13 17:18
sem
hdu1542
(线段树——矩形面积并)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1542 分析:离散化+扫描线+线段树 #pragma comment(linker,"/STACK:102400000,102400000") #include <cstdio> #include <cstring> #inc
·
2015-11-13 07:13
HDU
HDU1542
Atlantis(矩形面积并)
#pragma warning (disable:4996) #include<iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm> #include<vector> #include&
·
2015-11-12 19:30
ant
hdu 1542 线段树应用 附几组测试数据
/* *
hdu1542
/linux.cpp * Created on: 2011-9-1 * Author
·
2015-11-11 15:25
HDU
线段树——扫描线
PKU 1151 &&
hdu1542
Atlantis 矩形面积并 http://poj.org/problem?
·
2015-11-02 15:51
线段树
hdu1542
, 1255,1828矩形面积的并,交,和矩形的周长
好几天都没写博客了。。 这几天一直都在看关于矩形面积的并,交和周长,到现在也稍微理解了一点。。 用的都是线段树+扫描线,, 共同点都是需要用到离散化,对y坐标进行从小到大排序,除去相等的y点,根据y轴进行建树。。 然后扫描线需要记录是矩形的左边界还是右边界。。。 每一个结点的c表示该线段被覆盖的次数,具体看代码: 矩形面积的并: # include<stdio.h>
·
2015-10-31 15:37
HDU
hdu1542
矩阵的并 线段树+扫描线
求矩阵的并,也就是要求所有的面积。那可以吧总的图形按照矩阵来切割。使其为一块一块。 输入的时候用坐标表示,这里扫描线从下到上扫描。初始时让下面的边为1,上面的为-1; 用一条先从下面开始想上扫描。遇到更新线段树,加入该条边,为-1时就除去改变。 这样从下到上一遍扫描就可以得到线段的长度。从下到上的过程中,一旦遇到一条边,那就计算他的高度。 高度*长度就是面积。 /*
·
2015-10-31 14:27
HDU
hdu1542
1 /* 2 题意:矩形面积并 3 4 分析:离散+线段树+扫描线; 5 6 细节:首先线段记录的信息,len[]表示区间被覆盖的长度,cov[]表示当前区间是否被完全覆盖 7 其次,线段树的叶子节点[l,r]{l==r}的长度是?区间[l,r]的长度是LX[r]-LX[l]{LX是离散后保存数据的地方} 8 那叶子节点[l,l]的长度不就变成0,显然这是有问题的
·
2015-10-30 14:15
HDU
扫描线 求n个矩形覆盖后的总面积之和
hdu1542
Atlantis
题目链接hdu1542Atlantis(入门题)题目大意:给你n个矩形,求他们的总面积之和(覆盖区域只算一次)。解题思路:详解请移步到here。#include#include#include#includeusingnamespacestd;#definelz2*u,l,mid#definerz2*u+1,mid+1,rconstintmaxn=4222;doublesum[maxn];intf
詹明捷
·
2015-10-11 22:29
线段树
hdu1542
Atlantis (线段树+扫描线+离散化)
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):9032 AcceptedSubmission(s):3873ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
su20145104009
·
2015-08-16 17:00
线段树
HDU
离散化
扫描线
hdu1542
1542
线段树
hdu1542
Atlantis
最经典的一道面积并的问题了。要注意以下问题:1.可以按照y的扫描线从小到大排序,然后依次求出每两根扫描线的长度和之间差的距离,得到面积2.因为坐标值会很大,所以一般把坐标要离散化,然后去重,然后利用二分得到下标3.假如读入的时候是double类型,然后保存以后其实可以用==去判断是否相等,浮点误差只会在进行过加减乘除以后才会产生4.因为坐标值是点,然而我们应该按照区间段去编号,所以对于节点l,表示
qwb492859377
·
2015-08-10 19:00
线段树扫描线算法
www.cnblogs.com/scau20110726/archive/2013/04/12/3016765.html算法的思想请看这个blog然后最近做几个扫描线练习一下(代码还是挺难写的啊,而且变式比较难)
HDU1542
Miracle_ma
·
2015-07-22 17:03
线段树扫描线算法
www.cnblogs.com/scau20110726/archive/2013/04/12/3016765.html算法的思想请看这个blog然后最近做几个扫描线练习一下(代码还是挺难写的啊,而且变式比较难)
HDU1542
Miracle_ma
·
2015-07-22 17:00
ACM
矩形面积并 (
hdu1542
)
#include #include #include #include #include usingnamespacestd; constintmmax=210; constdoubleeps=1e-8; intsgn(doublex) { if(fabs(x)x2) swap(x1,x2); if(y1>y2) swap(y1,y2); } }R[110]; structnode { intl,
u012127882
·
2015-06-04 21:00
算法
计算几何
hdu1542
Atlantis
ProblemDescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionso
Kirito_Acmer
·
2015-05-22 16:00
线段树
UVA11983 - Weird Advertisement(扫描线)
题目大意:这题和
hdu1542
是一个题型,但是这题求的是覆盖k次的点,所以pushup里面就要改一下,具体的看代码把,大概的意思就是每次都是通过下面的两个孩子节点的覆盖信息更新父节点的覆盖信息。
u012997373
·
2014-10-19 15:00
【线段树】
HDU1542
线段树求面积周长
hdu1542
用线段树A过~1542这个题用线段树做,有两个收获,一是复习了类似的离散化,段更新求面积周长的方法,另外,就是学到了如何把“点值”转换成“段值”,线段树本质上,是对段的操作,但坐标值,是一个点值
brandohero
·
2014-10-17 20:00
HDU 1542 && POJ 1151 Atlantis(线段树+扫描线)
题目地址:HDOJ地址:
HDU1542
POJ地址:POJ1151第一发扫描线。。费了好大一番功夫。。构思用了半天。。写出来调试成功用了半天。。。真是弱渣。。
u013013910
·
2014-08-11 17:00
编程
算法
线段树
C语言
ACM
HDU 1828 Picture(线段树:扫描线)
分析: 本题和
HDU1542
类似,详解请见:http://blog.csdn.net/u013480600/article/det
u013480600
·
2014-03-30 13:00
ACM
hdu1542
求多个矩形面积的并0msC++代码 #include #include #include #include #include #include usingnamespacestd; constintNUM=100005; typedefstructline { doublex,y1,y2; intflag; }; typedefstructnode { intleft,mid,right,key;
qeroLai
·
2014-02-13 17:43
L
面积并问题 HDU 1542 Atlantis
HDU1542
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1542题目大意就是几个矩形相交,然后求出总的覆盖面积,覆盖多次的按一次算。典型的面积并问题。
u012161037
·
2013-09-18 15:00
HOJ1119/
HDU1542
Atlantis HOJ1909/POJ1177 Picture
第一题:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542题意:求多个长方形在平面上所覆盖的面积和。扫描线。从下往上扫描,浮点数离散化处理。思路参考:http://www.cnblogs.com/scau20110726/archive/2013/03/21/2972808.html#include #include #include #incl
niuox
·
2013-08-01 10:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他