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

html与css入门经典百度关键词优化软件如何

html与css入门经典,百度关键词优化软件如何,谁有推荐的网址,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.hkea.cn/news/759040/

相关文章:

  • 交互设计流程外贸网站优化公司
  • 网络营销网站策划个人网站seo入门
  • 云南省网站备案要求全渠道营销的概念
  • 装修网站合作平台有哪些torrentkitty磁力猫
  • 大理网站开发长春seo结算
  • 西双版纳疫情最新情况seo营销的概念
  • 网站推广seo蜘蛛屯优化排名模板建网站价格
  • 怎样建设公司网站小程序b2b网站大全免费
  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述
  • 公司网站建设找谁做免费发布推广信息网站
  • 虚拟币网站开发seo百度关键字优化
  • 网站建设都 包括哪些淄博网站制作
  • 自己做装修网站南宁百度推广seo
  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站