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

潍坊网站优化培训石家庄网络平台推广

潍坊网站优化培训,石家庄网络平台推广,大同网站建设制作哪家好,app是如何开发出来的线段树是常用来维护 区间信息 的数据结构 线段树可以在 O(logN) 的时间复杂度内实现 单点修改区间修改区间查询 区间求和求区间最大值求区间最小值 简单介绍一下线段树 线段树是一个将区间内的数不断细分的一种数据结构#xff0c;也就是一个完全二叉树#xff0c;用每一…线段树是常用来维护 区间信息 的数据结构 线段树可以在 O(logN) 的时间复杂度内实现 单点修改区间修改区间查询 区间求和求区间最大值求区间最小值 简单介绍一下线段树 线段树是一个将区间内的数不断细分的一种数据结构也就是一个完全二叉树用每一个叶子节点代表一个区间内的值 操作1单点修改 单点修改是找到要修改的那个点所在的每一层的区间最后通过叶子节点修改为相应的值然后向上递归 操作2区间查询 区间查询[l,r]是指在线段树内从上向下查询如果子区间的左右端点都在[l,r]内则不用在向下递归直到找到所有的点 常用操作函数 pushup(int u)用子节点的信息更新当前节点 参数u是根节点 static void pushUp(int u){node[u].sumnode[u1].sumnode[u1|1].sum; } build(int u,int l,int r)在一段区间上初始化线段树 参数u是根节点l是区间左端点r是区间右端点 static void build(int u,int l,int r){if(lr)node[u]new Node(l,r,w[r]);else{node[u]new Node(l,r,0);int midlr1;build(u1,l,mid);build(u1|1,mid1,r);pushUp(u);} } modify(int u,int x,int v)修改某一点的值 参数u是根节点x是要修改的节点v是要增加或减小的值 static void modify(int u,int x,int v){if(node[u].lnode[u].r)node[u].sumv;else{int mid(node[u].lnode[u].r)1;if(xmid)modify(u1,x,v);else modify(u1|1,x,v);pushUp(u);} } query(int u,int l,int r)查询 参数u是根节点l是区间左端点r是区间右端点 static int query(int u,int l,int r){if(node[u].llnode[u].rr)return node[u].sum;int midnode[u].lnode[u].r1;int sum0;if(lmid)sumquery(u1,l,r);if(rmid)sumquery(u1|1,l,r);return sum; } 节点表示 父节点x/2 x1 左儿子2x x1 右儿子2x1 x1|1 动态求连续区间和 package 线段树;import java.io.BufferedReader; import java.io.InputStreamReader;public class Main {static int N1000010;static Node[] nodenew Node[N];static int[] wnew int[N];static BufferedReader brnew BufferedReader(new InputStreamReader(System.in));static int n,m;static String[] $;static void pushUp(int u){node[u].sumnode[u1].sumnode[u1|1].sum;}static void build(int u,int l,int r){if(lr)node[u]new Node(l,r,w[r]);else{node[u]new Node(l,r,0);int midlr1;build(u1,l,mid);build(u1|1,mid1,r);pushUp(u);}}static int query(int u,int l,int r){if(node[u].llnode[u].rr)return node[u].sum;int midnode[u].lnode[u].r1;int sum0;if(lmid)sumquery(u1,l,r);if(rmid)sumquery(u1|1,l,r);return sum;}static void modify(int u,int x,int v){if(node[u].lnode[u].r)node[u].sumv;else{int mid(node[u].lnode[u].r)1;if(xmid)modify(u1,x,v);else modify(u1|1,x,v);pushUp(u);}}public static void main(String[] args)throws Exception {$br.readLine().split( );nInteger.parseInt($[0]);mInteger.parseInt($[1]);$br.readLine().split( );for(int i1;in;i)w[i]Integer.parseInt($[i-1]);build(1,1,n);while (m--0){$br.readLine().split( );int kInteger.parseInt($[0]);int aInteger.parseInt($[1]);int bInteger.parseInt($[2]);if(k0)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.ll;this.rr;this.sumsum;} }
http://www.eeditor.cn/news/124787/

相关文章:

  • 如何给自己的公司做网站app定制软件开发
  • 苏州网站建设提供商网站开发公司需要哪些部门
  • 站长工具爱站网网站制作怎样盈利
  • 郑州网站建设老牌公司可以做高清思维导图的网站
  • 国外的做的比较优秀的网站有哪些怎么修改wordpress主题字体
  • 做现货IC电子网站的怎么查看网站解析
  • 网站建设 入门知识网站程序设置主页面
  • 工信部网站登陆昆明网站建设猫咪科技
  • 如何提升网站加载速度内部网站建设
  • 海淀团队组建网站网站提示建设中
  • 手机网站开发价格有什么可以做试卷题目的网站
  • 如何去国外网站看内容世界500强企业数量
  • 河源市建设厅网站湖南省建六公司官网
  • 建设通查项目经理WordPress搜索优化工具
  • 石油工程建设协会网站wordpress网站更换域名
  • 如何自助建站游戏网站开发计划书
  • 网站建设平台安全问题有哪些视频教程网
  • php网站开发实例 电子书要怎么做网络营销
  • 医院做网站怎么做电商网站推广
  • dedecms关闭网站前端网页模板下载
  • 网站建设需求文档模板下载北京手机网站制作
  • 商城开发网站怎么创造一个网站
  • 哪些经营范围可以开网站建设费用网站头尾一样的怎么做最好
  • 宣传型网站宜昌小程序开发公司
  • 西安网站制作顶石家庄装修公司排名
  • 海南响应式网站建设制作传奇手机版网站
  • 制作公司网站视频小程序开发哪家好排行榜
  • app展示网站模板html5模板网站建设 报价
  • 广西建设网站培训淘宝seo优化
  • h5开发软件网站建优化