当前位置: 首页 > news >正文

粉色做网站背景图片广西南宁电商网站建设

粉色做网站背景图片,广西南宁电商网站建设,做软件赚钱的网站,衡阳北京网站建设这是一道二维线段树(树套树)标记永久化的模版题 前置知识点(来自董晓算法) 好,现在开始我们的分析: 题意简述: 在一个二维平面内,有给定的坐标,在这个坐标范围内加上…

这是一道二维线段树(树套树)+标记永久化的模版题

前置知识点(来自董晓算法)

好,现在开始我们的分析:

题意简述:

在一个二维平面内,有给定的坐标,在这个坐标范围内加上这个物品的厚度。最后输出不超过极限的最高坐标。

解法分析:

由于看到了区间修改,所以第一时间想到了线段树。(好像树状数组也可以做,只是本人不会)但是,要注意到这是一个二维线区间修改,所以要引入一种新的东西:二维线段树(什么!你还没有点开前置知识点?!快去看看!)

因为有董晓老师对于二维线段树的详细讲解了,我在这里就不过多赘述。

发现问题:

对于内层而言,传统的做法可以胜任,可以打 lazy 标记,pushdown 和 pushup 也都是可以进行的。但是对于外层而言,信息量太大,无法进行,所以需要使用一种新办法:标记永久化

知识点,标记永久化

好了,问题到这就已经解决了,直接上代码吧。(四十几行真的不长了QAQ)

#include<iostream>
#include<cstring>
#include<algorithm>
#define ls(x) x*2
#define rs(x) x*2+1
#define mid l+(r-l)/2
using namespace std;
const int MAXN=4e3+10;
int d,s,n;
int a,b,h,x,y;
struct segy{int mx[MAXN],tag[MAXN];void change(int u,int l,int r,int y1,int y2,int h){mx[u]=max(mx[u],h);if(y1<=l&&r<=y2){tag[u]=max(tag[u],h);return ;}if(y1<=mid)change(ls(u),l,mid,y1,y2,h);if(y2>mid)change(rs(u),mid+1,r,y1,y2,h);}int query(int u,int l,int r,int y1,int y2){if(y1<=l&&r<=y2)return mx[u];int ans=tag[u];if(y1<=mid)ans=max(ans,query(ls(u),l,mid,y1,y2));if(y2>mid)ans=max(ans,query(rs(u),mid+1,r,y1,y2));return ans;}
}mx[MAXN],tag[MAXN];
void change(int u,int l,int r,int x1,int x2,int y1,int y2,int h){mx[u].change(1,1,s,y1,y2,h);if(x1<=l&&r<=x2){tag[u].change(1,1,s,y1,y2,h);return ;}if(x1<=mid)change(ls(u),l,mid,x1,x2,y1,y2,h);if(x2>mid)change(rs(u),mid+1,r,x1,x2,y1,y2,h);
}
int query(int u,int l,int r,int x1,int x2,int y1,int y2){if(x1<=l&&r<=x2)return mx[u].query(1,1,s,y1,y2);int ans=tag[u].query(1,1,s,y1,y2);if(x1<=mid)ans=max(ans,query(ls(u),l,mid,x1,x2,y1,y2));if(x2>mid)ans=max(ans,query(rs(u),mid+1,r,x1,x2,y1,y2));return ans;
}
int main(){cin>>d>>s>>n;for(int i=1;i<=n;i++){cin>>a>>b>>h>>x>>y;x++;y++;h+=query(1,1,d,x,x+a-1,y,y+b-1);change(1,1,d,x,x+a-1,y,y+b-1,h);}cout<<mx[1].mx[1]<<"\n";return 0;
}
http://www.yayakq.cn/news/129375/

相关文章:

  • 向总部建设网站申请书卖汽车配件怎么做网站
  • 做游戏制作 网站我国好的室内设计公司排名
  • 张家港网站建设制作好的h5制作网站模板
  • 网站首页布局自适应公司网站建设的项目工作分解结构
  • c语言做网站如何推广店铺呢
  • 企业网站优化排名利用云盘做网站
  • 建设部建造师强制注销网站让wordpress文章页面显示分类标签
  • 什么是网站ui设计wordpress 会员查看
  • 做网站属于广告公司吗多用户商城系统哪个好
  • 网站建设与维护一样吗怎么做自己的设计网站
  • 大淘客做自己网站go语言做的网站
  • 高端私人订制网站建设网站的切换语言都是怎么做的
  • 最新网站建设合同网站推广软件免费版大全
  • 国家林业工程建设协会网站wordpress 根目录
  • 网络推广平台为企业做好服务优化营商环境
  • 照片网站模版自适应手机模板
  • 室内设计师灵感网站网站开发中的qq登录
  • 网站开发使用数据库的好处WordPress自然志主题
  • 莆田 做外国 网站吸引人的微信软文范例
  • 山西建设银行招聘网站商城开发分销系统
  • 国外源码网站网站备案初审
  • 网站欢迎页设计济南运营推广公司
  • 优质企业网站建设西安市内必去12景点
  • WordPress社团展示seo信息编辑招聘
  • 个人响应式网站建设网址导航是ie浏览器吗
  • 常州专业做网站公司昆明网站建设SEO公司
  • 中国建设银行网站结构wordpress 小程序 教程
  • 网站 设计 工具淘宝优惠券网站怎么做
  • 周口师范做网站如何做网站专题
  • 中山企业网站建设公司摄影网站难做吗