当前位置: 首页 > 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;
}
http://www.dtcms.com/a/188056.html

相关文章:

  • 信奥赛-刷题笔记-队列篇-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原则
  • [FA1C4] 博客链接
  • SQL语句,索引,视图,存储过程以及触发器
  • DeepSeek、B(不是百度)AT、科大讯飞靠什么坐上中国Ai牌桌?
  • 【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
  • 激光打印机常见打印故障简单处理意见
  • 导出导入Excel文件(详解-基于EasyExcel)
  • Git基本操作命令
  • Java—— 双列集合 Map
  • 第一章:HTML基石·现实的骨架
  • 基于单应性矩阵变换的图像拼接融合