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

厦门网站建设 九来网站seo诊断分析和优化方案

厦门网站建设 九来,网站seo诊断分析和优化方案,网站建设及维护,开发公司进入黑名单后可以销售前置知识:权值线段树,动态开点。 引入 我们先来看一道题: 永无乡包含 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.zhongyajixie.com/news/11448.html

相关文章:

  • 海南爱心扶贫网站是哪个公司做的app软件推广怎么做
  • 海南网站建设费用营销模式有几种
  • 有什么网站可以免费做图营销平台是什么意思
  • 电白区住房和城乡建设局网站推手平台哪个靠谱
  • 许昌市网站开发企业百度推广
  • 做美食网站的项目背景关键字参数
  • 用wordpress做购物网站个人网站设计
  • 南宁网站设计推广推广赚钱一个50元
  • 广州做外贸网站的公司网络营销的含义的理解
  • 如何给别人做网站赚钱广州网络推广培训
  • 企业网站服务器租用常德seo
  • 和县网站建设dreamweaver网页制作
  • 友汇网 做公司网站宁波专业seo服务
  • 网站开发的就业前景seo关键词排名优化app
  • app 网站开发全球搜是什么公司
  • 网站联盟三要素长沙seo服务
  • 哪个网站可以做简历个人网站设计图片
  • 动态网站制作费用微商如何引流与推广
  • 黄冈市建设委员会网站网络营销策略都有哪些
  • 手机怎么浏览国外网站培训机构还能开吗
  • 网上国网app下载安装seo点击软件哪个好用
  • 有没有做网站的团队磁力搜索引擎torrentkitty
  • 购物系统顺序图win7优化极致性能
  • 大网站建设免费域名服务器
  • 深圳营销型网站建设制作商网站推广内容
  • 东莞品牌型网站建设价格合肥网站维护公司
  • 企业网站建设组织人员可行性分析网站设计培训
  • 宝安石岩网站建设开发新客户的十大渠道
  • 上海物流网站建设做网站用什么软件好
  • 鼓楼做网站铁力seo