普通线段树(单点查询)
#includebits/stdc.h#define int long longusing namespace std;const int N1e6 5;int n,m;int a[N];int node[N 2];// 四倍空间// 线段树建树// root 当前区间节点的编号// [l, r] 表示当前节点的区间范围void build(int root, int l, int r){// 退出条件if(l r){node[root] a[l];// 到末端叶子节点了,这个区间表示的范围是【l,l】;return ;}int mid (l r) / 2;// 二叉树对半分找到区间中间点build(root * 2, l, mid);// 先建左儿子 范围是【l,mid】build(root * 2 1, mid 1, r);// 右儿子 范围是【mid1r】// 父亲 左儿子 右儿子node[root] node[root * 2] node[root * 2 1];// 从下到上建树}// 普通线段树区间查询// root 当前区间节点的编号// [l, r] 表示当前节点的区间范围// [L, R] 表示的是我要查询的区间范围 L、R值不变int query(int root, int l, int r, int L, int R) {if (L l r R) { // 发现【lr】已经包含在【LR】中那么直接可以返回答案return node[root];// 当前节点的值是答案的一部分直接用不用推了}int mid (l r) / 2;// 计算中心// 更新儿子之前记得下推懒标记int sum 0;// 区间和if (L mid) sum query(root * 2, l, mid, L, R); // 说明有一部分答案在左边if (R mid) sum query(root * 2 1, mid 1, r, L, R); // 说明有一部分答案在右边return sum;}// 单点修改 把下标为idx的改为val// root 当前区间节点的编号// [l, r] 表示当前节点的区间范围// idx 表示要修改的区间下标val 表示要修改的值void update(int root, int l, int r, int idx, int val) {if(l r){node[root] val;return ;}int mid (l r) / 2; // 找左右儿子中心点// 更新儿子之前记得下推懒标记// 要更新的区间左端点 中心点说明左儿子至少有一部分需要更新if (idx mid) update(root * 2, l, mid, idx, val);// mid是左儿子的最后一个位置// 要更新的区间右端点 中心点说明右儿子至少有一部分需要更新if (idx mid) update(root * 2 1, mid 1, r, idx, val);// 更新父亲node[root] node[root * 2] node[root * 2 1];}signed main(){cin n m;for(int i 1;i n;i){cin a[i];}build(1, 1, n);// 建树while(m–){int type;cin type;if(type 1){int x, k;cin x k;update(1, 1, n, x, k);}else{int x, y;cin x y;cout query(1, 1, n, x, y) endl;// 查询}}return 0;}

相关新闻

AI论文写作工具测评:9款神器提升学术效率

AI论文写作工具测评:9款神器提升学术效率

1. 论文写作工具测评背景与价值去年指导表弟写专科毕业论文时,发现市面上突然涌现出大量号称"AI论文神器"的工具。作为经历过学术写作煎熬的人,我花了三周时间深度测试了23款相关软件,最终筛选出9款真正能提升写作效率的工具。这些…

2026/11/6 6:07:57 阅读更多 →
[具身智能-699]:两相步进电机|通俗易懂版(分开讲:电机本身、驱动器信号、工作原理)

[具身智能-699]:两相步进电机|通俗易懂版(分开讲:电机本身、驱动器信号、工作原理)

先分清两个东西(绝大多数人最先混淆)步进电机本体:只有 4 根电线,里面是两组线圈,没有脉冲、方向信号!步进驱动器:电机和 STM32 中间的电路板。 单片机发给驱动器脉冲 / 方向指令,驱…

2026/11/6 19:20:36 阅读更多 →
AI生成内容检测与降AI工具核心技术解析

AI生成内容检测与降AI工具核心技术解析

1. 论文降AI工具的核心价值解析在学术写作和内容创作领域,AI生成内容检测已成为不可忽视的挑战。这款被用户称为"相见恨晚"的降AI工具,其核心价值在于能够快速有效地降低文本中的AI生成特征,使内容通过各类检测系统的审查。重要提示…

2026/11/10 5:33:00 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/12 5:00:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/12 5:13:20 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/12 5:13:20 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/12 5:13:20 阅读更多 →

日新闻

周新闻

月新闻