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
poj1151
【
poj1151
】矩形面积并,扫描线+离散化+线段树
原题:http://poj.org/problem?id=1151题意:给出若干组矩形左上角和右下角的坐标(坐标可能为小数),求出所有矩形所覆盖的面积,重叠部分只算一次。扫描线示意图.jpg思路:如图所示,假想一条扫描线从下向上移动,每次遇到矩形上底或者下底便计算一次扫过的矩形面积,并加到总和中去。如图所示,依次求出不同颜色矩形的面积,想加便可求得所有矩形覆盖的总面积。扫描线的移动由程序来实现实质
接骨木go
·
2021-03-11 18:48
矩形面积并、矩形面积交、矩形周长并(线段树、扫描线总结)
HDU1542[
POJ1151
]Atlantis(矩形面积并)题意:求N#include#include#include#include#include#include#include#include#
TaoSama
·
2020-08-18 08:30
算法导学
数据结构
-
线段树
poj - 1177 - Picture(离线化+扫描线+线段树)
题意:求n个矩形周长的并(0>思路与
poj1151
矩形面积的并类似,提取出所有矩形的所有纵向边作为扫描线,从左往右扫描,每处理一条扫描线时,下一条扫描线与当前扫描线的距离乘上当前已覆盖纵向边所包含的连续线段数再乘上
jchalex
·
2020-08-17 20:26
线段树
POJ1151
(HDU 1542) Atlantis【矩形面积并,线段树+离散化+扫描线模板】
DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionsofAtlant
MissZhou要努力
·
2020-08-14 00:45
—数据结构
———线段树
树状数组
—几何
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刷题记录
hdu 1542 (
poj1151
) Atlantis ( 线段树求矩形面积并)
离散化+扫描线+线段树。虽然这题直接离散化也能过,但想要学习一下线段树求矩形并,就网搜各种线段树求矩形并的方法。其实做法还是跟离散化的做法差不多。先介绍离散化+扫描线的做法(这种情况适应矩形数目不是很多的时候):1,将矩形的四条边无限延长,则将平面区域分为了多个小矩形区域。我们要求的区域面积就是其中一些的小矩形的面积的和。(这一步只是理解,无实际操作)2,分别将上述水平的划分线和竖直的划分线按从小
Balloons2012
·
2020-08-13 11:03
数据结构
HDU 1542 && POJ 1151 Atlantis(线段树+扫描线)
题目地址:HDOJ地址:HDU1542POJ地址:
POJ1151
第一发扫描线。。费了好大一番功夫。。构思用了半天。。写出来调试成功用了半天。。。真是弱渣。。
Aerolite坠落
·
2020-08-13 10:36
线段树
学习笔记——扫描线
POJ1151
——Atlantis(矩阵面积并)我们考虑对于$y$轴从下至上扫描,每次看剩下的底边再乘上此次更新的高度,这样就可以我们先按照$y$轴进行排序,然后对于$x$轴进行离散化,用线段树$cnt
weixin_30298497
·
2020-06-27 15:13
[
POJ1151
][HDU1542]Atlantis(线段树,扫描线)
英文题面,我就只放个传送门了。Solution题意是算矩形面积并,这是扫描线算法能解决的经典问题。算法的大致思想是,把每一个矩形拆成上边和下边(以下称作扫描线),每条扫描线有四个参数l,r,h,v。l和r为它的左右端点的横坐标,h为扫描线的纵坐标,v下面再解释。然后把扫描线按h从小到大排序,想一想,所有相邻扫描线之间的有效面积(即被矩形覆盖的面积)加起来是不是就是ans?怎么求呢?我们从下往上处理
青君
·
2019-07-29 17:00
[
POJ1151
]Atlantis(扫描线+线段树)
题目描述传送门题目大意:给出n个矩形求交的面积。题解扫面线的裸题将纵坐标离散,并且将矩形分解成左右两个边界,按照横坐标排序线段树的每一个节点[l,r]存储的是dis(l-1~r)这一段离散化之前的距离,维护一个标记表示区间被完全覆盖了几次,每一次修改update就行了由于扫描线问题的特殊性,不存在在一个大区间里抠去一个小区间的问题,所以这个做法还是非常科学的代码#include#include#i
Clove_unique
·
2017-04-19 17:52
题解
线段树
扫描线
【解题报告】hdu1255 线段树+扫描线
这道题是紧跟着
POJ1151
做的,这道题和Atlantis唯一的区别就在于这道题求的是覆盖两次的面积。因为刚刚学习了扫描线,想着如何在原先的模板上进行一些修改来做这道题。
Desico
·
2017-04-14 22:27
ACM学习
【解题报告】
POJ1151
扫描线+线段树(矩形求并)
先贴题目链接吧:http://poj.org/problem?id=1151今年刚参加完蓝桥杯,第十题就是一道扫描线求矩形面积并的问题,当时还没学习扫描线,有思路但是不会实现,于是花了两天时间好好的学习了一下扫描线。在网上找到了这道,可以说非常经典,也是非常基础的扫描线做法。先说思路,对于矩形求并问题,最直接的想法肯定是先把所有的面积加起来,然后减去重复的面积。但是这样做,当矩形数量增多,重叠面积
Desico
·
2017-04-14 18:45
【POJ 1151】 Atlantis(离散化+扫描线)
【
POJ1151
】Atlantis(离散化+扫描线)TimeLimit:1000MS MemoryLimit:10000KTotalSubmissions:20223 Accepted:7634DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthese
ChallengerRumble
·
2016-03-31 20:00
【POJ 1151】 Atlantis(离散化+扫描线)
【
POJ1151
】Atlantis(离散化+扫描线)TimeLimit:1000MS MemoryLimit:10000KTotalSubmissions:20223 Accepted:7634DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthese
ChallengerRumble
·
2016-03-31 20:00
POJ1151
(HDU 1542) Atlantis【矩形面积并,线段树+离散化+扫描线模板】
DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionsofAtlant
zhou_yujia
·
2016-03-22 08:00
POJ1151
矩形面积并
题意: 求n个矩形面积并。importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.PrintWriter; importjava.util.ArrayList; importjava.util.Arrays; importjava.util.List; importjava.util.
u013491262
·
2016-03-20 22:00
hdu 1255 覆盖的面积 线段树+离散化+扫描线
题意:给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.分析:这题跟
poj1151
有点相似,只不过多了至少覆盖两次而已。那我们就在原来的基础上改进一下。
qq_33229466
·
2016-01-25 11: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
ACM学习历程—
POJ1151
Atlantis(扫描线 && 线段树)
Description There are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some of these texts even include maps of parts of the island. But unfortunately, these maps
·
2015-11-12 11:19
ant
【
POJ1151
】【扫描线+线段树】Atlantis
Description There are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some of these texts even include maps of parts of the island. But unfortunately, these maps
·
2015-11-11 19:15
ant
POJ1151
Atlantis ——离散优化——Pku1151
分别将x、y坐标排序之后统计有效小矩形即可。这类题目也可以加上线段树优化,可是这道题的数据范围仅仅为n<=100,是可以不用线段树的,直接统计也能AC. CODE Program Atlantis;//By_Thispoet Const maxn=300; Var i,j,k,m,n,p,q :Longint; ans :Extended;
·
2015-11-02 17:20
ant
poj1151
本来是离散化的题,当初用了一种比较与众不同的做法 View Code #include <iostream> #include <cstdlib> #include <iomanip> using namespace std; const int maxn=500; struct cube {
·
2015-11-02 14:38
poj
POJ1151
离散化求矩形面积的并
1 /*第一道离散化的题目,虽然是水题,不过还是很高兴。。。*/ 2 3 #include<cstdio> 4 #include<algorithm> 5 #include<cstring> 6 using namespace std; 7 struct rect 8 { 9 double x1,x2,y1,y2; 10
·
2015-10-30 14:21
poj
暑假集训-数据结构
求矩形的并
Poj1151
线段树,离散化,扫描线。
·
2015-10-27 13:33
数据结构
ACM
POJ1151
(HDU 1542) Atlantis(矩形面积并,线段树+离散化+扫描线)
Atlantis Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9693 Accepted: 3791 Description There are several ancient Greek texts that contain descriptions of the fabled isl
·
2015-10-23 08:07
ant
POJ1151
Atlantis 线段树+扫描线(离散化)
题目链接:http://poj.org/problem?id=1151题目大意:给你一些矩形,其顶点坐标是浮点数,可能相互重叠,问这些矩形覆盖到的面积是多少。分析:我们将Y轴进行离散化,n个矩形的2n条边界,最多可将Y轴分成2n-1个区域,我们对这些区间进行编号,建立线段树。constintM=210; structsegment { intl,r; doublelen;//表示区间上有多长的部分
AC_Gibson
·
2015-10-09 15:00
poj1151
矩形面积并
学习了一种新的离散化第一次写有关线段的线段树个人理解的扫描线:每添加一条边(或权值)就算当前这一部分的东西,然后再添加,一个循环#include #include #include #include #include usingnamespacestd; #defineMAXN200 intn,T,t; doublex1,x2,y1,y2,ans; structpoint{ doublex,y1,
zz_ylolita
·
2015-08-19 00:00
【POJ 1151】Air Raid
【
POJ1151
】AirRaidDAG图(无回路有向图)的最小路径覆盖问题=最大匹配+(n-2*最大匹配)(最大匹配*2为所有可连的点n-2*最大匹配可求出所有独立点再加上最大匹配即为最小所需路径)以下引用博客
ChallengerRumble
·
2015-07-28 10:00
最小路径覆盖
POJ 1389 Area of Simple Polygons(多矩形重叠面积==离散化)
重叠的面积只算一次.分析: 典型的离散化题目,与
POJ1151
类似:http://blog.csdn.net/u013480600/article/details/39322
u013480600
·
2014-09-23 20:00
Algorithm
算法
ACM
计算几何
HDU 1542 && POJ 1151 Atlantis(线段树+扫描线)
题目地址:HDOJ地址:HDU1542 POJ地址:
POJ1151
第一发扫描线。。费了好大一番功夫。。构思用了半天。。写出来调试成功用了半天。。。真是弱渣。。
u013013910
·
2014-08-11 17:00
编程
算法
线段树
C语言
ACM
poj1151
线段树X扫描线X离散
一开始为了节省时间设了-1.遇到0就不往下搜,结果没想清楚,各种bug.基本思路就是离散化x的小数(详细点的说明在这里).用平行x轴的扫描线扫描整个区域.每次扫描把已经染色的长度算(endis[r]-endis[l])出来,乘以这次于上一次y的差就是本次的差.还有就是区间的连续,也就是为什么是(endis[r]-endis[l]),这里用的是叶节点为[1,2][[2,3]...这种划分.就避免了需
Hivoodoo
·
2014-08-10 10:00
线段树
ACM
扫描线
POJ1151
Atlantis 【扫描线】
AtlantisTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 16882 Accepted: 6435DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextseveninclu
u012846486
·
2014-07-15 23:00
poj1151
POJ1151
(线段树+扫描线求矩形面积并)
题目:http://poj.org/problem?id=1151#include#include#include#includeusingnamespacestd;constintN=10005;structnode{intl,r;intcov;doublelen;};structline{doublex;doubley1;doubley2;intf;booloperator>1;Build(l
ACdreamers
·
2013-09-20 20:03
数据结构
POJ1151
(线段树+扫描线求矩形面积并)
题目:http://poj.org/problem?id=1151 #include #include #include #include usingnamespacestd; constintN=10005; structnode { intl,r; intcov; doublelen; }; structline { doublex; doubley1
ACdreamers
·
2013-09-20 20:00
poj1151
(线段树+离散化)
DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionsofAtlant
Job_yi
·
2013-08-21 00:00
poj1151
hdu1542 wikioi3044 Atlantis 矩形面积求并
DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionsofAtlant
u011328276
·
2013-07-26 16:00
离散化 和多维线段树
poj1151
离散化分类:练习2013-05-2510:07196人阅读评论(0)收藏举报ACMC数据结构离散化http://poj.org/problem?
pi9nc
·
2013-07-20 09:00
练习
POJ1151
(求矩阵的并面积) 离散化
find函数直接用了线性搜索,居然没有TLE。#include #include #include #include usingnamespacestd; structrec { doublex1; doubley1; doublex2; doubley2; }; intfind(doubleaim,double*arr,intT) { inti; for(i=0;irx,ry; map::i
immiao
·
2013-07-03 12:00
POJ 1151 Atlantis 线段树+扫描线+离散化+延迟更新
POJ1151
最先用矩形分割过了,然后才开始研究扫描线。
WangDylan
·
2013-05-01 21:00
线段树
离散化
扫描线
延迟更新
POJ1151
(矩形切割入门题)
题目:Atlantis 我的上一篇文章已经讲明了线段切割的思想,矩形切割就是把线段切割从一维推到二维就行了,思想都一样。#include #include constintN=205; typedefstruct { doublex1,y1; doublex2,y2; doublesum; }Node; NodeT[N]; intn; voidCover(doublex1,doubley
ACdreamers
·
2013-04-09 15:00
hdu 1255 覆盖的面积(扫描线)
与
POJ1151
Atlantis 的差别是,我们在答案里加上的不是覆盖一次的长度乘以两条线之间x坐标的差,而是用覆盖两次的长度,那么问题就变成如果从覆盖一次的面积得到覆盖两次的面积。
shiqi_614
·
2012-11-28 21:00
线段树的学习之:如何用线段树计算矩形面积(二)
研究了线段树计算矩形面积的水题
poj1151
的实现过程,我又好好研究了用线段树来解决另一道稍微难一点的题:hdu3265,这是09年宁波赛区的一道题,只是在
poj1151
的基础上更巧妙了一点!
sbp810050504
·
2012-11-03 10:26
线段树
矩形面积
hdu3256
数据结构与算法
线段树的学习之:如何用线段树计算矩形面积(二)
研究了线段树计算矩形面积的水题
poj1151
的实现过程,我又好好研究了用线段树来解决另一道稍微难一点的题:hdu3265,这是09年宁波赛区的一道题,只是在
poj1151
的基础上更巧妙了一点!
sbp810050504
·
2012-11-03 10:26
线段树
HDU
hdu3256
矩形面积
Posters
hdu 1542 (
poj1151
) Atlantis ( 线段树求矩形面积并)
离散化+扫描线+线段树。虽然这题直接离散化也能过,但想要学习一下线段树求矩形并,就网搜各种线段树求矩形并的方法。其实做法还是跟离散化的做法差不多。先介绍离散化+扫描线的做法(这种情况适应矩形数目不是很多的时候):1,将矩形的四条边无限延长,则将平面区域分为了多个小矩形区域。我们要求的区域面积就是其中一些的小矩形的面积的和。(这一步只是理解,无实际操作)2,分别将上述水平的划分线和竖直的划分线按从小
Balloons2012
·
2012-10-18 00:00
c
struct
POJ1151
Atlantis [离散化]
题意:求矩形合并的总面积。思路:想练一下离散化专门找的题目。很好的一道题,没用线段树,因为N=100,所以直接离散化则可以O(N^2)求出。更具体的可以参看下面链接:http://www.cppblog.com/RyanWang/archive/2009/02/22/74612.html#include #include #include #include #defineAbs(a)((a)>0?
wuyanyi
·
2012-02-22 12:00
poj1151
Atlantis 【离散化+扫描线】
poj1151Atlantis【离散化+扫描线】求n(1#include#includeusing namespace std;const int maxn = 210;const double eps = 1e-9;struct line_t{ double l_x, r_x, y; bool flag;};bool cmp(const line_t &a, const line
寒月
·
2011-10-08 10:00
矩形面积并模板,今年不会了,哭死
#include//
poj1151
#include #include #include #include usingnamespacestd; //#definesee(x)cout>1; build
mindmb
·
2011-10-04 15:00
POJ 1177 Picture & hdu 1828 Picture(扫描线)
在做这题之前,建议先解决
POJ1151
。在求矩形并面积的时候,我们记录了线段投影到y轴上被覆盖的长度,这题同样要记录这个值以得到y轴上属于轮廓的边长(当然,不是简单地把这个长加进去,而是加变化值)。
shiqi_614
·
2011-09-27 00:00
c
struct
tree
ini
Build
fun
[导入]ACM
POJ1151
(HDU 1542) Atlantis(矩形面积并,线段树+离散化+扫描线)
AtlantisTimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:9693Accepted:3791DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapso
ACM博客_kuangbin
·
2011-08-25 10:00
HDU 1255 覆盖的面积 线段树
题意:给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.题解:和
poj1151
类似,不过要求的是面积的交,同样是先离散化然后枚举x坐标。
Tsaid
·
2011-08-22 13:00
Algorithm
struct
Build
iostream
2010
上一页
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
其他