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

合肥网站建设方案服务杭州关键词排名系统

合肥网站建设方案服务,杭州关键词排名系统,便利的广州微网站建设,大丰市市城乡建设局网站数据结构-线段树(点修区查) 前置知识 分治递归二叉树 思路 我们需要维护一个支持单点修改,区间查询的数据结构,并且要求在线,一般使用线段树解决。 线段树是一个二叉树形的数据结构。 线段树的思想很简单&#xff0c…

数据结构-线段树(点修区查)


前置知识
  • 分治
  • 递归
  • 二叉树

思路

我们需要维护一个支持单点修改,区间查询的数据结构,并且要求在线,一般使用线段树解决。
线段树是一个二叉树形的数据结构。
线段树的思想很简单,就是将每个区间分治,构成一个树形结构,从而达到了 log ⁡ n \log n logn 的时间复杂度
以下是一个维护最小值的线段树。

具体实现也很简单,如下:

  1. 建树( build \text{build} build
    从根节点向下遍历,叶节点自更新,非叶节点使用儿子节点更新( pushup \text{pushup} pushup
  2. 更新( update \text{update} update
    从根节点向下遍历,类似二分查找查找至叶结点,叶节点自更新,非叶节点使用儿子节点更新( pushup \text{pushup} pushup
  3. 查询( query \text{query} query
    从根节点向下遍历,将区间分治到多个节点上,合并答案。如区间 [ 2 , 6 ] = [ 2 , 3 ] + [ 4 , 5 ] + [ 6 , 6 ] [2,6]=[2,3]+[4,5]+[6,6] [2,6]=[2,3]+[4,5]+[6,6],为节点 5 , 6 , 14 5,6,14 5,6,14 处的答案合并而来。

数据结构参数
  • 时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)
  • 空间复杂度: O ( n ) O(n) O(n)

实现代码

以最小值线段树为例。

int t[MAXN*4];
#define ls p<<1
#define rs p<<1|1
void pushup(int p){t[p]=min(t[ls],t[rs]);
}
void build(int p,int l,int r){if (l==r){t[p]=a[l];return;}int mid=l+r>>1;build(ls,l,mid);build(rs,mid+1,r);pushup(p);
}
void update(int p,int l,int r,int x,int y){if (l==r){t[p]=y;return;}int mid=l+r>>1;if (x<=mid) update(ls,l,mid,x,y);else update(rs,mid+1,r,x,y);pushup(p);
}
int query(int p,int l,int r,int x,int y){if (x<=l&&r<=y) return t[p];int mid=l+r>>1,ans=0x3f3f3f3f;if (x<=l) ans=min(ans,query(ls,l,mid,x,y));else ans=min(ans,query(rs,mid+1,r,x,y));return ans;
}

练习
  • 洛谷【模板】树状数组 1
  • 洛谷【模板】树状数组 2
    因为这个版本的线段树和树状数组差不多。。。
http://www.yidumall.com/news/33927.html

相关文章:

  • 易语言做网站简单教程东莞今天的最新通知
  • wordpress 调用时间企业网站seo方案案例
  • iis7 发布asp网站404免费的网页模板网站
  • 怎么做前端网站百度接单平台
  • 承德网站制作公司行业关键词搜索量排名
  • 做网站的策划书宁波seo在线优化哪家好
  • 创建学校网站吗快速排名精灵
  • 公司官方网站建设抓取关键词的软件
  • 济南公司做网站谷歌seo网站建设
  • 闵行颛桥做网站学生个人网页优秀模板
  • html5 手机网站开发教程培训机构推荐
  • 用宝塔做网站步骤国内新闻最新消息简短
  • 长春电商网站建设公司电话云盘搜
  • 免费域名的网站长沙关键词优化方法
  • 网站建设管理流程西安网络优化培训机构公司
  • 网站建设hbwnet百度一下你就知道下
  • 网站开发 知乎seo外推
  • 晋安福州网站建设网络营销推广网站
  • 礼物说网站模板东莞网站建设
  • 市场营销推广活动方案厦门seo收费
  • 设计网站的目的国内外搜索引擎大全
  • 免费的个人简历模板网站肇庆seo排名外包
  • 为什么要用CGI做网站如何宣传自己的网站
  • 互动科技网站建设百度热度榜搜索趋势
  • 响应式网站建设特色种子搜索引擎在线
  • 网站建设方案范文1000字seo网站优化培训找哪些
  • 日本著名设计网站360广告投放平台
  • 杭州开发网站百度查关键词显示排名
  • 东莞专业网站建设网站友情链接的作用
  • 网站改版 升级的目的是什么广西seo公司