树状数组基础知识

lowbit:

lowbit(x)=x&(-x)

树状数组:

树状数组的功能:

数组a_{1} a_{2} a_{3} a_{4} a_{5}...a_{n}

在O(1)的时间复杂度实现单点加:a_{i}+d

在O(lng n)的时间复杂度实现查询前缀和:\sum_{1}^{x}ai

树状数组的定义:
c_{i}=\sum_{i-lowbit(i)+1}^{i} a_{i}

查询前x项的和操作:

ll query(int x){ll s=0;for( ; x; x-=x&(-x)){s+=c[x];}return s;
}

单点加操作:

//原数组长度为n
void modify(int x,ll s){for(;x<=n;x+=x&(-x)){c[x]+=s;}//如果需要别忘了把元素组对应的一位也进行变换
}

构造一个树状数组:

//原数组长度为n
scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",a+i);modify(i,a[i]);}

在输入元素的每一位时对应的在树状数组的位置加上该值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解密MySQL限制:如何在DELETE操作中绕过子查询问题

今天按照需求写SQL语句来清洗脏数据的时候&#xff0c;想从evidence_web中删除content_id大于1的全部记录&#xff0c;本来以为写一个子查询delete后即可&#xff0c;但是却出现了1093 - You cant specify target table evidence_web for update in FROM clause报错&#xff0c…

户用分布式光伏项目开发模式

随着全球对可再生能源的重视和技术的不断进步&#xff0c;分布式光伏发电作为一种清洁、高效、可再生的能源形式&#xff0c;正逐渐成为新能源发展的重要方向。户用分布式光伏项目&#xff0c;作为分布式光伏发电的重要组成部分&#xff0c;其开发模式对于推动光伏产业的普及与…

二分查找及其变种

一、概念 二分查找算法&#xff08;Binary Search Algorithm&#xff09;是一种在有序数组中查找特定元素的高效搜索方法。 其基本思想是将目标值与数组中间的元素进行比较&#xff0c;如果目标值等于中间元素&#xff0c;则查找成功&#xff1b;如果目标值小于中间元素&…

第十五章 Qt的QGraphics View绘图框架详解

目录 一、视图、场景、图形项 1、Graphics View 绘图架构 1.1、图形项 GraphicsItem 1.2、场景 QGraphicsScene 1.3、视图 QGraphicsView 2、图形项、场景、视图的坐标系 3、Graphics View 基础练习 二、使用自定义视图处理鼠标事件 1、添加自定义视图类 2、使用自定…

Python钩子函数详解

什么是Hook钩子函数&#xff1f; Hook钩子函数是一种回调&#xff08;Callback&#xff09;机制&#xff0c;允许程序在执行的特定点插入用户定义的代码。这种机制在事件处理、插件系统、调试工具等方面得到广泛应用。典型的Hook钩子包含预定义的事件点和用户自定义的处理函数…

LY/T 3360-2023 不燃无机纤维高压装饰层积板检测

不燃无机纤维高压装饰层积板是指以热固性树脂浸渍纸为面层或底层&#xff0c;以浸渍热固性树脂的无机纤维为芯层&#xff0c;经加热高压层积&#xff0c;制成的达到不燃等级的板材。 LY/T 3360-2023不燃无机纤维高压装饰层积板测试项目 测试要求 测试标准 规格尺寸及偏差 L…

ScaleCache: A Scalable Page Cache for Multiple Solid-State Drives——论文泛读

EuroSys 2024 Paper 论文阅读笔记整理 问题 高性能存储设备&#xff0c;如具有GB/s级I/O带宽的NVMe SSD&#xff0c;已被广泛应用于企业服务器中。对于处理大量数据&#xff0c;在RAID配置中使用多个SSD很有吸引力&#xff0c;这可以提高I/O性能、可靠性和容量。尽管多个SSD为…

全面教程:在Ubuntu上快速部署ZeroTier,实现Windows与VSCode的局域网无缝访问

文章目录 1 背景介绍2 Windows上的操作3 Ubuntu上的操作4 连接 1 背景介绍 在现代工作环境中&#xff0c;远程访问公司内网的Ubuntu主机对于开发者来说是一项基本需求。然而&#xff0c;由于内网的限制&#xff0c;传统的远程控制软件如向日葵和todesk往往无法满足这一需求。作…

华硕电脑格式化后电脑会怎样?数据怎么恢复

在数字化时代&#xff0c;电脑已经成为我们日常生活和工作中不可或缺的设备。然而&#xff0c;在使用电脑的过程中&#xff0c;有时我们会遇到需要格式化硬盘的情况。对于华硕电脑用户而言&#xff0c;了解格式化后的影响以及如何恢复磁盘数据至关重要。本文将详细探讨华硕电脑…

《昇思25天学习打卡营第9天|保存与加载》

文章目录 今日所学&#xff1a;一、构建与准备二、保存和加载模型权重三、保存和加载MindIR总结 今日所学&#xff1a; 在上一章节主要学习了如何调整超参数以进行网络模型训练。在这一过程中&#xff0c;我们通常会想要保存一些中间或最终的结果&#xff0c;以便进行后续的模…

Swift Core Data 分阶段迁移

文章目录 前言什么是分阶段迁移&#xff1f;提供一些背景信息创建迁移管理器设置使用 Core Data 栈。总结 前言 在这之前&#xff0c;我发布了一篇文章&#xff0c;在其中解释了如何使用映射模型和自定义迁移策略执行复杂的 Core Data 迁移。虽然这种方法性能良好且运行良好&a…

大模型思维链(Chain-of-Thought)技术原理

大模型思维链&#xff08;Chain-of-Thought&#xff09;技术原理 NLP中 大语言模型LLM中的思维链 Chain-of-Thought(CoT) GoT_cot思维链-CSDN博客

深入探索 Yarn 脚本:发掘自动化构建的潜力

引言 Yarn 是一个现代的包管理工具&#xff0c;它提供了快速、可靠和安全的依赖管理方式。除了包管理&#xff0c;Yarn 还允许开发者通过脚本来自动化构建过程&#xff0c;从而提高开发效率。本文将详细介绍如何查看所有可用的 Yarn 脚本&#xff0c;并展示如何利用这些脚本来…

【Linux进阶】文件和目录的默认权限与隐藏权限

1.文件默认权限&#xff1a;umask OK&#xff0c;那么现在我们知道如何建立或是改变一个目录或文件的属性了&#xff0c;不过&#xff0c;你知道当你建立一个新的文件或目录时&#xff0c;它的默认权限会是什么吗&#xff1f; 呵呵&#xff0c;那就与umask这个玩意儿有关了&…

Vue85-Vuex的求和案例

一、需求 二、开发 2-1、index.js中vuex的代码 注意&#xff1a; 书写格式&#xff1a;actions中的函数名用小写&#xff01;mutations中的函数名&#xff0c;用大写。 注意&#xff1a; 2-2、组件count.vue中的代码 2-3、代码优化 三、actions中的context参数 此写法的后…

ManageTreeXml类封装QTreeWidget 树形节点信息

QDomDocument 运用说明 生成示例头文件源文件 生成示例 <?xml version"1.0" encoding"UTF-8"?> <sdk guid"##GUID"><in method"SetModbusParaInfo"><Device name"Device1"><mode updateCycUn…

Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界面项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 在当今社会&#xff0c;随着人们对环境保护意识的增强以及科技的快速发展&#xff0c;智能化的垃圾分类…

EasyBoss ERP移动端上线数据分析模块,随时查Shopee/TikTok本土店数据

前段时间&#xff0c;EasyBoss ERP出了个超酷炫的数字大屏功能&#xff0c;广受好评。 但是也有老板说&#xff0c;电脑端看数据不够方便啊&#xff0c;你们EasyBoss有本事上个手机就能看数据的功能啊&#xff01; 说干就干&#xff0c;直接满足你们的需求&#xff01; 于是在…

day02-统计数据

numpy统计学 1.求平均值[数组名.mean()/np.mean(数组名)] m1 np.arange(20).reshape((4,5))m1.mean() #9.5若想要求某一维的平均值&#xff0c;设置axis参数&#xff0c;多维数组元素指定&#xff1a; axis 0&#xff0c;将从上往下计算。axis 1&#xff0c;将从左往右计算…

EtherCAT主站IGH-- 7 -- IGH之dict_request.h/c文件解析

EtherCAT主站IGH-- 7 -- IGH之dict_request.h/c文件解析 0 预览一 该文件功能`dict_request.c` 文件功能函数预览二 函数功能介绍1. `ec_dict_request_init`2. `ec_dict_request_read`详细分析三 h文件翻译四 c文件翻译该文档修改记录:总结0 预览 一 该文件功能 该文件定义了…