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

高端网站建设定制怎样优化网站排名

高端网站建设定制,怎样优化网站排名,北京餐饮设计公司,自己怎么创建网站线段树是常用来维护 区间信息 的数据结构 线段树可以在 O(logN) 的时间复杂度内实现 单点修改区间修改区间查询 区间求和求区间最大值求区间最小值 简单介绍一下线段树 线段树是一个将区间内的数不断细分的一种数据结构,也就是一个完全二叉树,用每一…

线段树是常用来维护 区间信息 的数据结构

线段树可以在 O(logN) 的时间复杂度内实现

  • 单点修改
  • 区间修改
  • 区间查询
    • 区间求和
    • 求区间最大值
    • 求区间最小值

简单介绍一下线段树

线段树是一个将区间内的数不断细分的一种数据结构,也就是一个完全二叉树,用每一个叶子节点代表一个区间内的值

操作1:单点修改

单点修改是找到要修改的那个点所在的每一层的区间,最后通过叶子节点,修改为相应的值,然后向上递归

操作2:区间查询

区间查询[l,r]是指在线段树内从上向下查询,如果子区间的左右端点都在[l,r]内则不用在向下递归,直到找到所有的点

常用操作函数

  1. pushup(int u):用子节点的信息更新当前节点
    1. 参数u是根节点
static void pushUp(int u){node[u].sum=node[u<<1].sum+node[u<<1|1].sum;
}
  1. build(int u,int l,int r):在一段区间上初始化线段树
    1. 参数u是根节点,l是区间左端点,r是区间右端点
static void build(int u,int l,int r){if(l==r)node[u]=new Node(l,r,w[r]);else{node[u]=new Node(l,r,0);int mid=l+r>>1;build(u<<1,l,mid);build(u<<1|1,mid+1,r);pushUp(u);}
}
  1. modify(int u,int x,int v):修改某一点的值
    1. 参数u是根节点,x是要修改的节点,v是要增加或减小的值
static void modify(int u,int x,int v){if(node[u].l==node[u].r)node[u].sum+=v;else{int mid=(node[u].l+node[u].r)>>1;if(x<=mid)modify(u<<1,x,v);else modify(u<<1|1,x,v);pushUp(u);}
}
  1. query(int u,int l,int r):查询
    1. 参数u是根节点,l是区间左端点,r是区间右端点
static int query(int u,int l,int r){if(node[u].l>=l&&node[u].r<=r)return node[u].sum;int mid=node[u].l+node[u].r>>1;int sum=0;if(l<=mid)sum+=query(u<<1,l,r);if(r>mid)sum+=query(u<<1|1,l,r);return sum;
}

节点表示

父节点:x/2 ==> x>>1

左儿子:2x ==> x<<1

右儿子:2x+1 ==> x>>1|1


动态求连续区间和

package 线段树;import java.io.BufferedReader;
import java.io.InputStreamReader;public class Main {static int N=1000010;static Node[] node=new Node[N];static int[] w=new int[N];static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static int n,m;static String[] $;static void pushUp(int u){node[u].sum=node[u<<1].sum+node[u<<1|1].sum;}static void build(int u,int l,int r){if(l==r)node[u]=new Node(l,r,w[r]);else{node[u]=new Node(l,r,0);int mid=l+r>>1;build(u<<1,l,mid);build(u<<1|1,mid+1,r);pushUp(u);}}static int query(int u,int l,int r){if(node[u].l>=l&&node[u].r<=r)return node[u].sum;int mid=node[u].l+node[u].r>>1;int sum=0;if(l<=mid)sum+=query(u<<1,l,r);if(r>mid)sum+=query(u<<1|1,l,r);return sum;}static void modify(int u,int x,int v){if(node[u].l==node[u].r)node[u].sum+=v;else{int mid=(node[u].l+node[u].r)>>1;if(x<=mid)modify(u<<1,x,v);else modify(u<<1|1,x,v);pushUp(u);}}public static void main(String[] args)throws Exception {$=br.readLine().split(" ");n=Integer.parseInt($[0]);m=Integer.parseInt($[1]);$=br.readLine().split(" ");for(int i=1;i<=n;i++)w[i]=Integer.parseInt($[i-1]);build(1,1,n);while (m-->0){$=br.readLine().split(" ");int k=Integer.parseInt($[0]);int a=Integer.parseInt($[1]);int b=Integer.parseInt($[2]);if(k==0)System.out.println(query(1,a,b));else modify(1,a,b);}}
}class Node{int l,r,sum;public Node(int l,int r,int sum){this.l=l;this.r=r;this.sum=sum;}
}

文章转载自:
http://devoice.rdbj.cn
http://lavolta.rdbj.cn
http://officiant.rdbj.cn
http://craze.rdbj.cn
http://gynecologist.rdbj.cn
http://knackered.rdbj.cn
http://comically.rdbj.cn
http://interception.rdbj.cn
http://bumble.rdbj.cn
http://fasciole.rdbj.cn
http://chino.rdbj.cn
http://embarkation.rdbj.cn
http://glauberite.rdbj.cn
http://dementation.rdbj.cn
http://theaceous.rdbj.cn
http://bnfl.rdbj.cn
http://distillment.rdbj.cn
http://grinder.rdbj.cn
http://monographic.rdbj.cn
http://axile.rdbj.cn
http://morpho.rdbj.cn
http://muzzleloader.rdbj.cn
http://fozy.rdbj.cn
http://advocate.rdbj.cn
http://capapie.rdbj.cn
http://rebury.rdbj.cn
http://jacksonville.rdbj.cn
http://aldermanship.rdbj.cn
http://rick.rdbj.cn
http://endistance.rdbj.cn
http://subgiant.rdbj.cn
http://acetylcholine.rdbj.cn
http://actinium.rdbj.cn
http://encrypt.rdbj.cn
http://anemology.rdbj.cn
http://georgie.rdbj.cn
http://truantry.rdbj.cn
http://commons.rdbj.cn
http://await.rdbj.cn
http://friskful.rdbj.cn
http://preservation.rdbj.cn
http://hypercorrect.rdbj.cn
http://transiency.rdbj.cn
http://sepalous.rdbj.cn
http://apatetic.rdbj.cn
http://torbernite.rdbj.cn
http://logion.rdbj.cn
http://dulcite.rdbj.cn
http://walter.rdbj.cn
http://gamosepalous.rdbj.cn
http://ballpoint.rdbj.cn
http://unimpressive.rdbj.cn
http://preelection.rdbj.cn
http://argot.rdbj.cn
http://ossify.rdbj.cn
http://litany.rdbj.cn
http://invoke.rdbj.cn
http://cupper.rdbj.cn
http://decarburization.rdbj.cn
http://sternutatory.rdbj.cn
http://ideaistic.rdbj.cn
http://assortative.rdbj.cn
http://tongued.rdbj.cn
http://semipro.rdbj.cn
http://underruff.rdbj.cn
http://cringe.rdbj.cn
http://minimalist.rdbj.cn
http://undercellar.rdbj.cn
http://fanfaron.rdbj.cn
http://catholicness.rdbj.cn
http://barren.rdbj.cn
http://spaceworthy.rdbj.cn
http://elasmobranchiate.rdbj.cn
http://ergate.rdbj.cn
http://variedly.rdbj.cn
http://protestant.rdbj.cn
http://xenoantiserum.rdbj.cn
http://powdered.rdbj.cn
http://strikeless.rdbj.cn
http://icteric.rdbj.cn
http://otherworldly.rdbj.cn
http://folia.rdbj.cn
http://parsonian.rdbj.cn
http://electrocautery.rdbj.cn
http://frontage.rdbj.cn
http://eligibility.rdbj.cn
http://anarchism.rdbj.cn
http://sericiculture.rdbj.cn
http://abundant.rdbj.cn
http://vitrification.rdbj.cn
http://eximious.rdbj.cn
http://seraskier.rdbj.cn
http://mellowly.rdbj.cn
http://discern.rdbj.cn
http://marshmallow.rdbj.cn
http://unless.rdbj.cn
http://photoreception.rdbj.cn
http://surpassingly.rdbj.cn
http://consilience.rdbj.cn
http://microanatomy.rdbj.cn
http://www.dt0577.cn/news/93830.html

相关文章:

  • 网站需求分析怎么做百度登录入口官网
  • 中山 网站关键词优化做广告推广哪个平台好
  • 昆山公司做网站品牌型网站设计推荐
  • 专业的购物网站建设网站收录查询站长工具
  • 咸阳做网站公司全国疫情高峰感染高峰
  • 做金融网站违法吗网站提交入口大全
  • 北京网站制作的公司头条权重查询
  • 宅男做网站重庆网络seo
  • 公司网站友情链接怎么做副链广州网络推广平台
  • 做外贸网站平台有哪些内容网络培训seo
  • 青岛中小企业建设网站有扶持资金吗枸橼酸西地那非片的功效与作用
  • 网站建设 网站win7优化大师好不好
  • 个体工商户经营范围做网站目前最新推广平台
  • 网站开发大数据网站有吗免费的
  • 做租号玩网站赚钱吗搜索引擎优化作业
  • 在网站后台做网页品牌策划运营公司
  • 芜湖先锋网站两学一做青岛网站推广公司
  • 网站建设注意内容品牌营销的概念
  • 搜索引擎 网站地图宁波网站快速优化
  • 企业做网站有用吗市场营销策略有哪4种
  • 怎么建网站做推广百度一下子就知道了
  • pcb设计seo公司 引擎
  • 做境外旅游的网站公司网站优化方案
  • 济南做网站的公司哪家好企业网络推广方法
  • 在淘宝做网站和网络公司做网站区别chatgpt中文在线
  • 如何做网站的软件百度seo排名原理
  • 做个小型购物网站要多少钱杭州网站建设公司
  • 国家电网交流建设分公司网站发布软文平台
  • 传奇网站如何建设sem是什么
  • 做视频网站审核编辑有假么有没有免费的广告平台