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

河源市网站建设_网站建设公司_跨域_seo优化

网站建设 慕课,沈阳学校网站建设,能源科技网站建设,东莞正规网站建设树状数组能够完成如下操作#xff1a; 给一个序列a0-an 计算前i项和 对某个值加x 时间o(logn) 注意#xff1a;有人觉得前缀和就行了#xff0c;但是你还要维护啊#xff0c;改变某个值#xff0c;一个一个改变前缀和就是o(n)了。 线段树树状数组的题就是这样#x…树状数组能够完成如下操作 给一个序列a0-an 计算前i项和 对某个值加x 时间o(logn) 注意有人觉得前缀和就行了但是你还要维护啊改变某个值一个一个改变前缀和就是o(n)了。 线段树树状数组的题就是这样维护一个树比较容易看出来。 线段树 https://blog.csdn.net/hebtu666/article/details/82691008 如果使用线段树只需要对网址中的实现稍微修改即可。以前维护最小值现在维护和而已。 注意要求只是求出前i项而并未给定一个区间那我们就能想出更快速、方便的方法。 对于任意一个节点作为右孩子如果求和时被用到那它的左兄弟一定也会被用到那我们就没必要再用右孩子因为用他们的父就可以了。 这样一来我们就可以把所有有孩子全部去掉 把剩下的节点编号。 如图可以发现一些规律13579等奇数区间长度都为1 61014等长度为2 ........................ 如果我们吧编号换成二进制就能发现二进制以1结尾的数字区间长度为1最后有一个零的区间为2两个零的区间为4. 我们利用二进制就能很容易地把编号和区间对应起来。 计算前i项和。 需要把当前编号i的数值加进来把i最右边的1减掉直到i变为0. 二进制最后一个1可以通过i-i得到。 更新 不断把当前位置i加x把i的二进制最低非零位对应的幂加到i上。 下面是代码 思想想出来挺麻烦代码实现很简单我都不知道要注释点啥 向发明这些东西的大佬们致敬 int bit[MAX_N1] int n;int sum(int i) {int gg0;while(i0){ggbit[i];i-i-i;}return gg; }void add(int i,int x) {while(in){bit[i]x;ii-i;} }
http://www.ihoyoo.com/news/29625.html

相关文章:

  • 宁阳网站定制申请免费个人网站空间
  • 网站建设技术网站建小程序开发成本
  • 宁波正规网站建设使用方法网站建设和管理心得
  • 做衣服 网站松江网站建设博客
  • 网站跳出率的衡量标准wordpress慢 google
  • 关于做网站的合同网站的三大因素
  • 做营销型网站的公司南宁h5建站
  • 信誉好的o2o网站建设佛山网站建设咨询
  • 在线做logo印章网站相同网站名
  • 盛泽做网站国际企业邮箱
  • 做网站必须要数据库么焦作维科网站建设公司
  • 网站后期维护内容seo外链工具源码
  • 安装多个wordpress站点建筑网片用途
  • 北京网站搭建费用中国建筑业协会
  • 郴州建设信息网站高明网站开发公司
  • 龙岩做网站改版费用wordpress会员中心vip收费
  • 苏州科技网站建设wordpress添加子菜单
  • 文化网站设计经典案例邮局网站建设的目的
  • 模板建站和仿站wordpress需要什么安装环境
  • 做电影网站被抓网站推广软件工具
  • 商务网站建设公司排名做社交网站
  • 网络推广常见的方法奇零seo赚钱培训
  • 烟台做网站多钱网站在百度搜索不到
  • 接做网站需要问什么网站建站是什么
  • 一个电信ip做网站卡不卡成都网站建设及推广
  • 重庆网站建设冒号wordpress主题 t
  • 省水利工程建设信息网站copyright wordpress
  • 渠道游戏官网搜素引擎排名优化技术
  • 网站进入考核期要多久换公司网站域名要改吗
  • 怎么修改网站关键词陕西渭南住房和城乡建设厅网站