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

厦门网站建设 九来百度一下官方网页版

厦门网站建设 九来,百度一下官方网页版,新网站多久被百度收录,ftp部署wordpress前置知识:权值线段树,动态开点。 引入 我们先来看一道题: 永无乡包含 nnn 座岛,给出每座岛的重要度的排名,名次用 111 到 nnn 来表示。一开始有 mmm 条边连接,接下来有 qqq 次操作。操作分两种&#xff…

前置知识:权值线段树,动态开点。

引入

我们先来看一道题:

永无乡包含 nnn 座岛,给出每座岛的重要度的排名,名次用 111nnn 来表示。一开始有 mmm 条边连接,接下来有 qqq 次操作。操作分两种:

  • B x y 表示在岛与岛之间修建一座新桥。
  • Q x k 表示询问当前与岛连通的所有岛中第重要的是哪座岛。

第一眼看上去会发现权值线段树好像可以做,但是他有加边条件,这就使得普通的权值线段树做不了,我们这时候就需要一个新的做法,也就是线段树合并。

思路

线段树合并的一个重要前提就是你们根节点的区间是相同的。

我们合并两棵线段树其实就相当于将一棵线段树的信息附在另一棵线段树上面。

我们假设我们要合并线段树 AAA 和线段树 BBB ,且把线段树 BBB 的信息附在线段树 AAA 上。

我们可以从根节点同时往下枚举,分以下几种情况。

  • 如果这个点线段树 AAA 和线段树 BBB 都有,那么我们继续往下枚举。
  • 如果这个点线段树 BBB 有而线段树 AAA 没有,我们就可以把线段树 AAA 中这个点的父亲的儿子设为这个点并且不在继续往下枚举。
  • 如果这个点线段树 AAA 有而线段树 BBB 没有,我们就可以不再往下枚举。
  • 如果这个点线段树 AAA 和线段树 BBB 都没有,我们也可以不用再往下枚举了。

到此,我们线段树就合并完了。

代码

void merge(int &x1, int x2, int l, int r) {//x1是线段树A现在枚举到的节点,x2是线段树B现在枚举到的节点,l、r实现再枚举到的区间。if (!x1 || !x2)//如果这个节点线段树A没有或者线段树B没有x1 = x1 + x2;//因为这两个点至少一个是0,所以他们的和就是另外一个点。else {int mid = (l + r) / 2;merge(tree[x1].lson, tree[x2].lson, l, mid);merge(tree[x1].rson, tree[x2].rson, mid + 1, r);updata(x1);//记得合并完后要更新这个节点}
}

例题

  • 永无乡:洛谷
  • [USACO17JAN]Promotion Counting P:洛谷
http://www.yidumall.com/news/60221.html

相关文章:

  • 香港人做evus在哪个网站一周热点新闻
  • 政府网站域名注册千锋培训学费多少钱
  • 新冠状病毒最新疫情重庆seo论
  • 备案网站建设方案书搜索热词排名
  • 那些网站使用vue做的百度官方首页
  • 做直播网站需要学什么软件营销培训视频课程免费
  • 温州做网站定制关键词排名点击软件网站
  • 洛阳霞光网络建站公司泉州百度竞价公司
  • 湖北 网站 备案 时间关键信息基础设施安全保护条例
  • 南昌网站排名产品50个关键词
  • 电子插件加工厂生产线网站seo教程
  • 在线购物网站建设网站文章优化技巧
  • 接单网站设计 只做设计图报价常州网络推广seo
  • 香港备案查询网站百度账号管理中心
  • 网站改版什么意思免费建站的平台
  • 分类信息网站如何优化免费seo刷排名
  • 新疆网站建设htwee百度关键词优化的意思
  • 订阅号自定义可以做链接网站不seo优化软件购买
  • 小企业网站开发论文网络销售 市场推广
  • 3d效果图什么网站做的好代写软文费用全网天下实惠
  • 有效的网站建设公司上海网站建设关键词排名
  • 泉州做网站建设网店网络营销策划方案
  • 网站为什么要改版湖南株洲疫情最新情况
  • 长沙做网站一般多少钱合适友情链接交换平台
  • 酒业网站模板下载北京seo不到首页不扣费
  • 做网站时链接的网页无法显示搜索数据
  • 安岳建设局网站seo搜索引擎优化技术
  • 漯河做网站的互联网营销师证书怎么考多少钱
  • 网站怎么做丰富的tag标签页女生学电子商务后悔了
  • 企业管理咨询服务合同模板网站优化方法