首页 > 其他分享 >树状数组学习笔记

树状数组学习笔记

时间:2023-05-22 17:25:45浏览次数:46  
标签:树状 int lowbit sum 笔记 数组

树状数组(Binary Indexed Tree)是一种利用数的二进制特征进行检索的树状结构。

树状数组是一种奇妙的数据结构,不仅非常高效,而且代码及其简洁

 

#define lowbit(x) ((x)&-(x))

void add(int x,int d){//更新
    while(x<=n){
    tree[x]+=d;
    x+=lowbit(x);      
    }
}

int sum(int x){//求和
    int sum=0;  
    while(x>0){
        sum+=tree[x];
        x-=lowbit(x);
    }
return sum;
}

 

标签:树状,int,lowbit,sum,笔记,数组
From: https://www.cnblogs.com/Miya555/p/17421189.html

相关文章

  • 《程序员修炼之道》笔记1
       首先不得不说这是一本熔知识,哲理,幽默与实践与一炉的奇书,引导你领悟程序设计的真谛,只可惜我没能好好的理解透彻,更加难得可贵的是它是一本英文原著,却有着丰富的难词和背景信息注释。本书出版之后,两位作者都参与起草了敏捷运动的纲领性文件《敏捷宣言》,所以敏捷软件开发可以......
  • 《程序员修炼之道》笔记2
    通过阅读书籍,想和同学们分享简单介绍几个非常重要的原则和习惯:1,DRY—don’trepeatyourself     由于各种原因,代码的复制有时候难以避免,为了你的代码效率,千万不要自我复制。复制的代价可想而知,当你修改一处时,你必须得修改其他代码,这样的代码是难以管理的,更不幸的是你常......
  • 《构建之法》笔记1
    《构建之法》读后感     《构建之法》是一本好书,当我翻开构建之法的第一页时,我就感觉我能从书中得到许多关于编程的方法和相关知识。当我读到构建之法里的 “敏捷宣言表明的是一些优先级,不必当作圣旨或者教条来争论”,我才恍然大悟。“兵无常势,水无常形,能因敌变化而取胜者,......
  • 《构建之法》笔记2
     《构建之法》是一本全景式图书,让我更了解这个行业,是一本与现实接轨的教材。其次,这是一本最佳实践式的书,涵盖了科学、健康的软件工程开展中的每个方面,介绍了种种方法论,但不是高高在上、纲领性的方法论,而是方法论的最佳实践,确实可用,拿来就用。这本书在介绍方法论的同时,会介绍方法......
  • 02构建之法阅读笔记
    《构建之法》一书提到软件构建的一个重要方面是测试。作者强调测试是软件构建过程中不可或缺的一步,只有经过充分测试的软件才能更具可靠性和质量。书中介绍了多种测试方法,其中包括单元测试、集成测试、接口测试和验收测试等。作者指出,这些测试方法都有着各自的优点和局限性,需要根......
  • 【阅读笔记】四月
    《人月神话》16章提出因为软件工程是一个超级复杂的系统,所以断言没有银弹。软件开发中存在着4个天生的根本困难——复杂度、一致性、可变性和不可见性,无论是在技术还是管理方法上,都看不出有任何突破性的进步,能够保证在十年内大幅度地提高软件的生产率和可靠性。银弹一般指银色子......
  • 成长笔记二、MySQL数据库--学生管理系统数据库手写SQL实现(实践篇)
    学生对象---->学生表(student)老师对象---->老师表(teacher)课程对象---->课程表(course)成绩对象---->成绩表(score)班级对象---->班级表(前缀_class,因为user或class等英文单词是程序中的关键字.尽量不直接用)等.....数据库设计设计参考上篇博客https://ww......
  • 阅读笔记9
    第九章:《构建之法》第九章介绍了软件工程中的进化式架构思想,通过历史案例和个人实践经验,讲述了如何使用架构创新、文化变革和持续重构这三个方面来实现软件架构的进化。软件架构进化的特殊性与生物演化不同:生物演化是靠基因突变和自然选择,而软件演化则更依赖于人为介入。没......
  • kindle7插件开发笔记[2]-使用Rust重写插件
    前言上一篇笔记:kindle7插件开发笔记[1]-在折腾中入门代码地址:https://gitee.com/qsbye/kindle-plugin-touch摘要用Rust语言重写在Kindle上显示图片的插件,初步实现了图片完整显示及自动刷新屏幕的功能.说明Kindle7的屏幕信息eips-i结果:Fixedframebufferinfoi......
  • 多方安全计算Secure Multi-Party Computation(SMPC)学习笔记
    引言随着数字化时代的到来,数据的价值变得前所未有的重要。然而,随之而来的是对数据隐私和安全的日益关注。个人和组织都希望能够利用敏感数据进行有益的分析和合作,但又不希望将这些数据暴露给其他人。在这种情况下,安全多方计算(SMPC)崭露头角。SMPC是一种创新的加密技术,它允许多个参与......