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
hdu1828
hdu1828
(线段树+扫描线求周长)
这题不错,可以更加深入的了解线段树扫面线算法,大家之前可能做过扫描线求矩形面积,但因为求面积的某些局限性,一些细节不用写到就可以a,但求周长不行。首先,介绍下求周长的思路,从左往右在每一次插入一条边后,周长并的累加值==新增的横边+新增的竖边。我们可以发现,插入一条边之后,新增的横边的树木等于区间内连续线段的数目*新增横边的长度,新增的竖边等于插入前后覆盖长度的差值。插入一条出边之后,其实等同于删
爱生活的程序猿
·
2020-08-09 13:16
数据结构
扫描线
线段树
扫描线 + 线段树 HDU1542(覆盖矩形面积) +
HDU1828
(覆盖矩形周长)
AtlantisAtlantisTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):22879AcceptedSubmission(s):9083ProblemDescriptionThereareseveralancientGreektextsthatcontainde
Adolphrocs
·
2020-08-08 01:11
模板
acm
HDU1828
Picture
-----------------------扫描线求周长链接(HDU):Miku链接(Vjudge):Miku-----------------------HDU是多组数据!!!而且不写明白了!!!我本以为既然多组数据,何不写上一共几组,既然不写,那必然是不存在了但是它就是多组数据----------------------这道题显然的做法是扫描两次,横着一次竖着一次,不过会很繁琐事实上,一次就
Simex
·
2020-03-14 08:00
HDU1828
Picture(线段树+扫描线求周长并)
PictureTimeLimit:6000/2000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):3940AcceptedSubmission(s):2000ProblemDescriptionAnumberofrectangularposters,photographsandotherpictures
KeyboardPianist
·
2016-04-15 23:06
HDU
线段树
【
HDU1828
】Picture【线段树】【矩形周长并】
【题目链接】线段的循环要从1到2n,与面积并不一样,面积并是1到2n-1。/*Pigonometry*/ #include #include #include usingnamespacestd; constintmaxn=5005,maxm=maxnl.c; } }line[maxm]; inlineintiread(){ intf=1,x=0;charch=getchar(); for(
BraketBN
·
2016-04-14 22:00
矩形周长并
hdu1828
线段树扫描线求周长
思想和扫描线求面积差不多#include #include #include #include #include usingnamespacestd; structnode { intl; intr; intlen;//该区间可与下一个将要插入的线段组成并面积的长度 intcover;//该区间覆盖了几根线段 intnum;//记录该区间由几个子区间组成了可与下一个将要插入的线段组成并面积,即可
aonaigayiximasi
·
2016-03-22 20:00
线段树+扫描线两题hdu1542
hdu1828
hdu1542Atlantis题意很简单就是给几个矩形的左下角坐标及右上角左边。求这几个矩形覆盖到的面积。初学扫描线,太渣了各种不会,搜博客看到的都是粘贴别人的,无奈用了一个周六才完成。这个题的思路大概是对纵坐标离散建立线段树。依次插入排序后的竖边。iff为1则为入边,为0则为出边.面积等于每次插入时两个竖边距离与当前线段树中总长度的积之和。我的渣渣代码:#include #include #in
hfengzhi
·
2015-11-21 11:00
线段树
离线
扫描线
矩形合并
hdu1828
(线段树——矩形周长并)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1828 分析:与面积不同的地方是还要记录竖的边有几个(num记录),并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助) 线段树操作:update:区间增减 query:直接取根节点的值 #include <cstdio> #incl
·
2015-11-13 07:15
HDU
hdu1828
线段树+离散化+扫描线
添加lb[],rb[]数组,来标记竖边。添加num,来计算竖边的个数,因为计算周长的时候,未覆盖的竖边都要加。 #include<stdio.h> #include<stdlib.h> #include<algorithm> using namespace std; #define lson l,m,rt<<1 #define rson
·
2015-10-31 11:01
HDU
扫描线 求多个矩形合并后的周长
hdu1828
Picture
题目链接hdu1828Picture题目大意:给你多个矩形,求他们合并后的周长,被覆盖的边不能算进周长之内。解题思路:其实周长并和面积并没什么很大的区别,只不过周长并增加了判断左右端点是否被覆盖的标记lbd和rbd数组,以及numseg数组记录连续区间段数。numseg:一根扫描线扫描过去,会记录有多少个连续的区间段,每个连续的区间段都有两条相等的竖边,而每次扫描过去竖边长度都相等。#includ
詹明捷
·
2015-10-11 22:15
线段树
线段树
hdu1828
Picture
最经典的一道周长并的题目。其实周长并并没有想象那么难。首先,肯定要确定,我们需要做两次扫描线。第一次是从下向上,第二次是从左向右,这样得到的才是四周的周长其次,,扫描的时候如何更新周长呢?每次增加线段后,把新得到的长度与之前的做比较,两者之差的绝对值就是这次增加线段后的长度所以每次都这样更新,最后得到的就是周长了。#include #include #include #include #inclu
qwb492859377
·
2015-08-11 22:00
hdu1828
Picture
ProblemDescriptionAnumberofrectangularposters,photographsandotherpicturesofthesameshapearepastedonawall.Theirsidesareallverticalorhorizontal.Eachrectanglecanbepartiallyortotallycoveredbytheothers.Thel
Kirito_Acmer
·
2015-05-25 15:00
线段树
几何
【线段树】
hdu1828
& poj1177
补题解开始……题目:Anumberofrectangularposters,photographsandotherpicturesofthesameshapearepastedonawall.Theirsidesareallverticalorhorizontal.Eachrectanglecanbepartiallyortotallycoveredbytheothers.Thelengthoft
hetangl2
·
2014-08-19 10:00
线段树
hdu1828
Picture(线段树+离散化+扫描线)两种方法
C- PictureTimeLimit:2000MS MemoryLimit:10000KB 64bitIOFormat:%I64d&%I64uSubmit StatusDescriptionAnumberofrectangularposters,photographsandotherpicturesofthesameshapearepastedonawall.Theirsides
u013015642
·
2014-08-12 21:00
HDU 1828 && POJ 1177 Picture(线段树+扫描线+离散化)
HDU题目地址:
HDU1828
POJ题目地址:POJ1177这题是求周长并,我用的方法可能有点麻烦。。是先求横着的线,再求竖着的线。
u013013910
·
2014-08-12 21:00
编程
算法
C语言
ACM
扫描线
hdu1828
矩形周长并
PictureTimeLimit:6000/2000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2435AcceptedSubmission(s):1294ProblemDescriptionAnumberofrectangularposters,photographsandotherpictures
小小小小葱
·
2014-04-05 13:38
数据结构
hdu1828
线段树+扫描线
http://acm.hdu.edu.cn/showproblem.php?pid=1828(矩形求周长类似矩形合并求面积,只是多了需要统计竖边的个数,对于每次求到的下底边长还要增加目前底边与下一条底边之间的竖边总长)1,n个矩形有2*n条线段,按从小到大排列,如上图得到的线段顺序2:开始扫描第一条线段,得到总底边长sum为a这部分,得到竖边个数segnum=2,(每增加一条底边segnum+=2
xingyeyongheng
·
2013-05-15 18:00
hdu 1828 线段树求矩形周长并
hdu1828
线段树求矩形周长并题目描述: 给N(N 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define
算法学社
·
2012-06-04 20:00
POJ1177
HDU1828
Picture,线段树求矩形并周长
和矩形并求面积类似,不过T_NODE中保存num、lb、rb用于记录段信息,num记录的是这个节点共有多少个不连续的段,lb、rb记录的是这个节点的上下界是否与别的节点有重合。/******************************************************************************* #Author:NeoFung #Email:neosfung
neofung
·
2012-01-26 00:00
上一页
1
下一页
按字母分类:
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
其他