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
atlantis
poj1151
Atlantis
扫描线
第一道扫描线。 #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <climits> #include <string> #include <iostream> #includ
·
2015-10-31 09:11
ant
POJ 1151
Atlantis
(线段树)
Atlantis
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13873
·
2015-10-30 15:38
ant
Hdu 1542
题目链接
Atlantis
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768
·
2015-10-30 14:28
HDU
POJ 1151
Atlantis
矩形面积求交/线段树扫描线
Atlantis
Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?
·
2015-10-23 09:06
ant
ACM POJ1151 (HDU 1542)
Atlantis
(矩形面积并,线段树+离散化+扫描线)
Atlantis
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9693 Accepted: 3791
·
2015-10-23 08:07
ant
Rails:通过IP地址确定城市
github.com/simplificator/geoip require 'geoip' GeoIP.new('GeoLiteCity.dat').country('www.
atlantis
.sk
·
2015-10-21 12:50
Rails
HDU-1542
Atlantis
求矩形面积并
http://acm.hdu.edu.cn/showproblem.php?pid=1542 该题就是给定N个矩形,求出叠加之后的面积,与求面积交类似,就是覆盖次数没有了要求。 代码如下: #include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>#include
·
2015-10-21 11:39
ant
POJ_1151
Atlantis
(线段树)
/*线段树扫描线问题,感觉可以作为这类问题的模板。问过师兄以后才过的。。。按y轴建线段树。*/struct node{ int l, r, c; //c表示被覆盖的情况,不为0表示被覆盖 double sum, len; //len表示当前段的长度,sum表示有效长度。就是可以计入求面积的长度}node[N<<2];struct line{ doubl
·
2015-10-21 11:17
ant
线段树+扫描线问题
Atlantis
线段树+扫描线第一题。之前看过一次,只不过没实现。看了胡浩的线段树专辑再去敲得,其实基本和他写的一样。
u014355480
·
2015-10-14 19:00
线段树
扫描线
扫描线 求n个矩形覆盖后的总面积之和 hdu1542
Atlantis
题目链接hdu1542
Atlantis
(入门题)题目大意:给你n个矩形,求他们的总面积之和(覆盖区域只算一次)。解题思路:详解请移步到here。
詹明捷
·
2015-10-11 22:29
线段树
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
hdoj 1542 && poj 1151
Atlantis
&& poj 1389 Area of Simple Polygons 【线段树 + 离散化 + 扫描线】
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):9299 AcceptedSubmission(s):3960ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
chenzhenyu123456
·
2015-09-18 16:00
HDU 1542
Atlantis
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542题意:给出n个矩形的正对角线的2个端点,求面积并思路:线段树辅助扫描线求矩形面积并,第一次按照自己思路写这种题目,理解起来不算太困难,倒是写的时候各种奇葩错误。首先对横坐标进行离散化,因为坐标是浮点数,方便建树以及减少时间消耗,用tsum保存有效长度,因此更新时需要通过二分查找出离散化前的坐标进行
月黑风高叶
·
2015-09-05 22:24
ACM_线段树
HDU 1542
Atlantis
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542题意:给出n个矩形的正对角线的2个端点,求面积并思路:线段树辅助扫描线求矩形面积并,第一次按照自己思路写这种题目,理解起来不算太困难,倒是写的时候各种奇葩错误。 首先对横坐标进行离散化,因为坐标是浮点数,方便建树以及减少时间消耗,用tsum保存有效长度,因此更新时需要通过二分查找出离散化前的
csdn364988181
·
2015-09-05 22:00
数据结构
ACM
poj 1151 线段树+扫描线(
Atlantis
矩形面积)
题意:给定n个矩形(n#include#include#include#include#includeusingnamespacestd;#defineclc(s,t)memset(s,t,sizeof(s))#defineINF0x3fffffff#defineN100005structline{//表示矩形的竖边doublex,y1,y2;intl;//表示是否为矩形的左边booloperat
dumeichen
·
2015-08-25 16:10
数据结构
poj 1151 线段树+扫描线(
Atlantis
矩形面积)
题意:给定n个矩形(n #include #include #include #include #include usingnamespacestd; #defineclc(s,t)memset(s,t,sizeof(s)) #defineINF0x3fffffff #defineN100005 structline{//表示矩形的竖边 doublex,y1,y2; intl;//表示是否为矩形的
dumeichen
·
2015-08-25 16:00
HDU 1542
Atlantis
(线段树扫描线,面积并)
题意:给你n(n#include#include#definelsoM)modify(rson,ql,qr,d);pushUp(o,L,R);}intmain(){doublex1,y1,x2,y2;intcas=1;while(~scanf("%d",&n)&&n){m=tot=0;for(inti=0;i
HelloWorld10086
·
2015-08-20 18:44
线段树-扫描线
HDU 1542
Atlantis
(线段树扫描线,面积并)
题意:给你n(n #include #include #definelsoM)modify(rson,ql,qr,d); pushUp(o,L,R); } intmain(){ doublex1,y1,x2,y2; intcas=1; while(~scanf("%d",&n)&&n){ m=tot=0; for(inti=0;i
HelloWorld10086
·
2015-08-20 18:00
HDU
1542
POJ1151--
Atlantis
(离散化+扫描线)
题目大意:给出n个矩形,求面积并分析:线段树+离散化+扫描线。先以Y轴(横线)建立线段树,当然,这里需要离散化。然后,用一条直线从左到右扫描,碰到一条矩形竖边的时候,就计算该直线有多长被矩形覆盖,以及被覆盖部分是覆盖了几重。碰到矩形左边,要增加被覆盖的长度,碰到右边,要减少被覆盖的长度随着扫描线的右移动,覆盖面积不断增加。每碰到一条矩形的纵边,覆盖面积就增加( 此时扫描线被矩形覆盖的长度*该纵边到
hhhhhhj123
·
2015-08-18 11:00
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
HDU 1542
Atlantis
(扫描线求矩形面积并+离散化)
http://acm.hdu.edu.cn/showproblem.php?pid=1542题意就是给n个矩形,这些矩形可能存在覆盖的地方,求矩形面积并。这种题目要用到扫描线,同时还要用到离散化(一时因为数据特别大,二是因为题目中存在浮点数)。扫描线:一根虚拟的线,从下往上(或者从左往右)扫所求的图形,如下图所示,一条从下往上的直线扫到该4条线,并将图形分成三个部分分别来求面积。扫描线解法(从下往
WANSNIM
·
2015-08-14 22:37
*Data
Structure
HDU 1542
Atlantis
(线段树 + 扫描线 + 离散化)
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):8998 AcceptedSubmission(s):3856ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
qq_18661257
·
2015-08-13 22:00
HDU 1542
Atlantis
ProblemDescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionso
jtjy568805874
·
2015-08-12 17:00
HDU
线段树 hdu1542
Atlantis
最经典的一道面积并的问题了。要注意以下问题:1.可以按照y的扫描线从小到大排序,然后依次求出每两根扫描线的长度和之间差的距离,得到面积2.因为坐标值会很大,所以一般把坐标要离散化,然后去重,然后利用二分得到下标3.假如读入的时候是double类型,然后保存以后其实可以用==去判断是否相等,浮点误差只会在进行过加减乘除以后才会产生4.因为坐标值是点,然而我们应该按照区间段去编号,所以对于节点l,表示
qwb492859377
·
2015-08-10 19:00
poj 1151
Atlantis
求矩形面积并。。扫描线第一题。把x坐标离散化,y坐标排序,从低到高一条一条线段处理,每次得到前一段面积。#include #include #include #include #include #include #include #include usingnamespacestd; intn; structSeg{ doublexl,xr; doubley; intflag; Se
squee_spoon
·
2015-08-03 21:00
扫描线
hdu 1542
Atlantis
(段树&扫描线&面积和)
Atlantis
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (
·
2015-07-18 19:00
ant
hdu1542
Atlantis
ProblemDescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionso
Kirito_Acmer
·
2015-05-22 16:00
线段树
POJ 1151
Atlantis
(线段树+扫描线 求矩形面积并)
经典扫描线题,算法网上有很详细的,这里简单说一下:把每个矩形拆成两条竖边,标记每条边是左边的还是右边的,把所有的边按x坐标排序。用一个数组cov标记整个y轴每个部分在多少个矩形中,哪些不是。把浮点数离散化。然后开始扫描:先把答案加上(全部在矩形中的区间的长度和)×(这条边x坐标和前一条边x坐标之差),代表这两条边之间被覆盖的面积,然后这条边如果是左边,就把所覆盖区间的cov数组+1,是右边就-1.
Baoli1008
·
2015-05-14 20:00
线段树
离散化
扫描线
HDU 1542
/*
Atlantis
*/ #include #include #include usingnamespacestd; #definelson(pos>1; } doublelen(){ returnHash
u013451221
·
2015-04-30 14:00
hdu 1542
Atlantis
线段树求面积并,,,尼玛数据真坑人,数组千万不能开小!
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7815 AcceptedSubmission(s):3420ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
Lionel_D
·
2015-03-17 10:00
线段树
atlantis
hdu1542
面积并
hdu1542----
Atlantis
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):7541 AcceptedSubmission(s):3318ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
Guard_Mine
·
2015-01-15 14:00
线段树
【线段树 + 离散化 + 扫描线】poj 1151
Atlantis
矩形面积并
将所有的线段按照x左边从小到大排序,并对所有的横纵坐标进行离散化,从左到右扫描,每碰到一条矩形左侧的线段,就插入线段树;每碰到一条矩形右侧的线段,就从线段树中删除。同时线段树中每个节点要维护一个计数变量,应对一个区间被多个矩形覆盖的情形。#include #include #include #include #include #include #include #include #include
lwfcgz
·
2014-11-06 11:00
HDU1542
Atlantis
(扫描线)
HDU1542
Atlantis
(扫描线)题目链接题目大意:给你n个覆盖矩形,问最后覆盖的面积。
u012997373
·
2014-10-19 15:00
HDU 1542
Atlantis
(矩形面积并)
HDU1542
Atlantis
题目链接题意:给定一些矩形,求面积并思路:利用扫描线,由于这题矩形个数不多,直接暴力扫就可以了,如果数据大,就要用线段树代码:#include #include #include
u011217342
·
2014-10-14 12:00
hdu 1542
Atlantis
(扫描线)
题目链接:hdu1542
Atlantis
题目大意:N个矩形,求矩形面积的并。解题思路:线段树扫描线的裸题。
u011328934
·
2014-10-03 10:00
线段树 (矩形面积并&&周长并 - 来自notonlysuccess)
矩形面积并hdu1542
Atlantis
题意:矩形面积并思路:浮点数先要离散化;然后把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用cnt表示该区间下边比上边多几个,sum代表该区间内被覆盖的线段的长度总和这里线段树的一个结点并非是线段的一个端点
playwfun
·
2014-09-24 14:00
Algorithm
C++
算法
hdu 1542
Atlantis
(扫描线方法 o(n^2))
#include #include #include #include usingnamespacestd; #definelsonl,m,rt0){ ans+=(x-temp.x)*(temp.y2-temp.y1); temp.x=x; temp.flag+=fff; } else{ temp.flag+=fff; temp.x=x; } } } } printf("Testcase#%d
playwfun
·
2014-09-22 21:00
Algorithm
C++
算法
HDU
UVA 11345 Rectangles(n个矩形重叠覆盖的面积)
UVA11345Rectangles(n个矩形重叠覆盖的面积)题意: 给你n个矩形的左上角和右下角,要你输出那些被所有矩形都覆盖的面积大小.分析: 本题与POJ1151
Atlantis
u013480600
·
2014-09-22 20:00
Algorithm
算法
ACM
计算几何
POJ 1151
Atlantis
题目大意:给出n个矩形,形式是左下点和右上点。求它们的面积并。解题思路:扫描线算法,对Y进行扫描,线段树查询Y轴扫描某段距离后X轴一共有多长的距离有边,并计算面积。下面是代码:#include #include #include //#include #include #include #include #include #include #include #include #defineeps
lin375691011
·
2014-08-20 20:00
数学
线段树
poj
刷题
HDU 1542 && POJ 1151
Atlantis
(线段树+扫描线)
题目地址:HDOJ地址:HDU1542 POJ地址:POJ1151第一发扫描线。。费了好大一番功夫。。构思用了半天。。写出来调试成功用了半天。。。真是弱渣。。所谓扫描线就是从上往下或从下往上扫描,每到一个边,就进行增或删的处理。最后出来的值就是总的面积。对于求面积并的问题,可以参考这篇博客(博客地址),讲的不错。具体实现过程是用lazy标记此时的边数量,如果大于0,说明这个地方有边,等于0则说明没
u013013910
·
2014-08-11 17:00
编程
算法
线段树
C语言
ACM
poj1151--
Atlantis
(线段树+离散化+扫描线)
AtlantisTimeLimit:1000MS MemoryLimit:10000KB 64bitIOFormat:%I64d&%I64uSubmit Status DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetexts
u013015642
·
2014-08-11 17:00
nbut线段树专题 J -
Atlantis
DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextsevenincludemapsofpartsoftheisland.Butunfortunately,thesemapsdescribedifferentregionsofAtlant
Guard_Mine
·
2014-08-05 10:00
HDU 1542
Atlantis
Description There are several ancient Greek texts that contain descriptions of the fabled island
Atlantis
·
2014-07-29 10:00
ant
Atlantis
(线段树 + 扫描线 + 离散化)
Atlantis
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 
Simone_chou
·
2014-07-25 23:00
ant
POJ1151
Atlantis
【扫描线】
AtlantisTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 16882 Accepted: 6435DescriptionThereareseveralancientGreektextsthatcontaindescriptionsofthefabledislandAtlantis.Someofthesetextseveninclu
u012846486
·
2014-07-15 23:00
poj1151
hdu 1542
Atlantis
(线段树&扫描线&面积并)
AtlantisTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):6386 AcceptedSubmission(s):2814ProblemDescriptionThereareseveralancientGreektextsthatcontaindes
y5885922
·
2014-07-01 18:00
c
算法
ACM
HDU 1542
Atlantis
(线段树求矩阵覆盖面积)
题意:给你n个矩阵求覆盖面积。思路:看了别人的结题报告给定一个矩形的左下角坐标和右上角坐标分别为:(x1,y1)、(x2,y2),对这样的一个矩形,我们构造两条线段,一条定位在x1,它在y坐标的区间是[y1,y2],并且给定一个cover域值为1;另一条线段定位在x2,区间一样是[y1,y2],给定它一个cover值为-1。根据这样的方法对每个矩形都构造两个线段,最后将所有的线段根据所定位的x从左
u012861385
·
2014-06-28 17:00
【线段树+扫描线】 HDOJ 1542
Atlantis
线段树+扫描线+离散化,由于写过线段树+扫描线的题目,写着到题比较轻松~~~只要用once记录至少一次覆盖的面积,再用cover记录覆盖的次数就可以轻松解决了~~~#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defin
blankcqk
·
2014-06-25 11:00
线段树
HDU
扫描线
POJ 1151 -
Atlantis
线段树+扫描线..
分类: 线段树2013-07-2611:37 297人阅读 评论(1) 收藏 举报 离散化:将所有的x轴坐标存在一个数组里..排序.当进入一条线段时..通过二分的方式确定其左右点对应的离散值... 扫描线..可以看成一根平行于x轴的直线..至y=0开始往上扫..直到扫出最后一条平行于x轴的边..但是真正在做的时候..不需要完全模拟这个过程..扫描线的做法是从最下面的边开始扫到最上面的边. 线
pi9nc
·
2014-05-29 17:00
线段树
HDU 1542
Atlantis
(线段树:扫描线)
HDU1542
Atlantis
(线段树:扫描线)http://acm.hdu.edu.cn/showproblem.php?
u013480600
·
2014-03-30 01:00
ACM
上一页
1
2
3
4
5
6
下一页
按字母分类:
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
其他