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

信息学奥赛一本通 1535:【例 1】数列操作

【题目链接】

ybt 1535:【例 1】数列操作

【题目考点】

1. 树状数组

【解题思路】

本题为树状数组模板题,维护区间和,进行单点修改,区间查询。
详细讲解见:洛谷 P3374 【模板】树状数组 1(树状数组解法)

【题解代码】

#include <bits/stdc++.h>
using namespace std;
#define N 100005
int tree[N], n, m;//tree:树状数组 
int lowbit(int x)
{return x & -x;
}
void update(int i, int v)//a[i] += v 单点修改 
{for(int x = i; x <= n; x += lowbit(x))tree[x] += v;
}
int sum(int i)//求a[1]+...+a[i] 区间查询 
{int s = 0;for(int x = i; x > 0; x -= lowbit(x))s += tree[x];return s;
}
int query(int l, int r)//求a序列区间和[l, r] 
{return sum(r)-sum(l-1);
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int a, k, b;cin >> n >> m;for(int i = 1; i <= n; ++i){cin >> a;update(i, a);}for(int i = 1; i <= m; ++i){cin >> k >> a >> b;if(k == 0)cout << query(a, b) << '\n';elseupdate(a, b);}return 0;
}

相关文章:

  • 信奥赛-刷题笔记-队列篇-T2-P1540机器翻译和P2952Cow Line S
  • 品种亮相!贵州金桥药业筑牢市场竞争护城河
  • MATLAB语音情感识别神经网络方法
  • 从零开始:使用 Vue-ECharts 实现数据可视化图表功能
  • INT202 Complexity of Algroithms 算法的复杂度 Pt.7 NP-Completeness NP完全性
  • SwarmUI 基于.NET开发的开源AI图像生成WEB用户界面系统
  • 市政务服务技能竞赛流程策划方案
  • 【计算机视觉】OpenCV实战项目:基于Tesseract与OpenCV的字符识别系统深度解析
  • 第十七章:Llama Factory 深度剖析:易用性背后的微调框架设计
  • flutter Stream 有哪两种订阅模式。
  • 工作常用的git命令
  • Node.js中的洋葱模型
  • C++中的volatile有什么用?
  • PostgreSQL 恢复信息函数
  • flea-cache使用之Redis哨兵模式接入
  • ETL 数据集成平台与数据仓库的关系及 ETL 工具推荐
  • EDR与XDR如何选择适合您的网络安全解决方案
  • 爬虫请求频率应控制在多少合适?
  • 鸿蒙 核心与非核心装饰器
  • Node.js事件循环中的FIFO原则
  • 泽连斯基:将带领乌代表团前往土耳其,已准备好与普京会谈
  • 专访|韩国世宗研究所中国研究中心主任:李在明若上台将推行均衡外交
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题
  • 媒体和打拐志愿者暗访长沙一地下代孕实验室,警方已控制涉案人员
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查
  • 专访|西蒙·斯特朗格:以“辞典”的方式讲述二战家族史