版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年区域和检索试题及答案某城市气象站记录了2026年3月1日至3月n日的日平均温度,存储在数组temp中(下标从1开始)。现需要处理m次查询,每次查询给出两个整数l和r(1≤l≤r≤n),要求计算第l天到第r天的温度总和。输入格式:第一行包含两个整数n和m(1≤n≤1e5,1≤m≤1e5);第二行包含n个整数,表示temp[1..n];接下来m行,每行两个整数l和r。输出格式:共m行,每行一个整数,表示对应查询的温度总和。答案:由于是静态数组(无更新操作),多次区间查询最有效的方法是使用前缀和数组。定义前缀和数组preSum,其中preSum[i]表示temp[1..i]的和,则区间[l,r]的和为preSum[r]preSum[l-1]。具体步骤如下:1.读取n和m,读取temp数组。2.构建preSum数组:preSum[0]=0,preSum[i]=preSum[i-1]+temp[i](i从1到n)。3.对于每个查询l和r,输出preSum[r]preSum[l-1]。时间复杂度:预处理O(n),每次查询O(1),总复杂度O(n+m),适用于1e5级别的输入规模。某图书馆记录了2026年上半年每日的借书数量(还书视为负的借书量),存储在数组book中(下标从1开始)。系统需要支持两种操作:操作1为单点更新,将第x天的借书量增加v(v可正可负);操作2为区间查询,计算第l天到第r天的总借书量。输入格式:第一行包含两个整数n和q(1≤n≤1e5,1≤q≤1e5);第二行包含n个整数,表示book[1..n];接下来q行,每行三个整数,第一个数为操作类型(1或2),若为1则后接x和v,若为2则后接l和r。输出格式:对于每个操作2,输出一个整数,表示对应区间的总借书量。答案:需要支持单点更新和区间查询,树状数组(FenwickTree)是高效选择。树状数组通过维护前缀和的增量,实现O(logn)时间的单点更新和区间查询。区间[l,r]的和等于前缀和到r减去前缀和到l-1。具体实现:1.初始化树状数组,大小为n,初始值通过逐个位置更新设置。2.操作1(单点更新):调用update(x,v),将位置x的值增加v。3.操作2(区间查询):计算query(r)query(l-1),其中query(x)返回前缀和到x。树状数组的update操作通过lowbit运算向上更新相关节点,query操作通过lowbit运算累加前缀和。时间复杂度:每次操作O(logn),总复杂度O(n+qlogn),适用于1e5级别的输入。某农场有一块n×m的矩形农田,划分为n行m列的网格,每个网格记录了2026年的预计产量(单位:公斤),存储在二维数组crop中(下标从1开始)。系统需要支持两种操作:操作1为单点更新,将第i行第j列的产量修改为v;操作2为区域查询,计算从第x1行y1列到第x2行y2列(x1≤x2,y1≤y2)的矩形区域内的总产量。输入格式:第一行包含三个整数n、m、q(1≤n,m≤2e3,1≤q≤1e4);接下来n行,每行m个整数,表示crop[1..n][1..m];接下来q行,每行包含若干整数:若为操作1,输入1ijv;若为操作2,输入2x1y1x2y2。输出格式:对于每个操作2,输出一个整数,表示对应区域的总产量。答案:二维区域查询和单点更新可使用二维树状数组。二维树状数组通过维护二维前缀和的增量,支持O(lognlogm)时间的单点更新和区域查询。区域[x1,y1,x2,y2]的和可通过二维前缀和公式计算:sum=query(x2,y2)query(x1-1,y2)query(x2,y1-1)+query(x1-1,y1-1),其中query(x,y)表示(1,1)到(x,y)的矩形和。具体实现:1.初始化二维树状数组,逐元素更新初始值。2.操作1(单点更新):计算新值与旧值的差值delta,调用update(i,j,delta),并更新原数组。3.操作2(区域查询):利用二维前缀和公式计算结果。时间复杂度:每次更新和查询O(lognlogm),n和m为2e3时,log2(2e3)≈11,总运算量可接受。某在线游戏中,玩家按等级划分为1到n级(n≤1e5),每个等级有若干玩家,记录每个等级的总经验值存储在数组exp中(下标从1开始)。运营活动需要支持两种操作:操作1为区间加法,对等级在[l,r]范围内的所有等级,每个等级的总经验值增加v;操作2为区间查询,计算等级在[l,r]范围内的总经验值之和。输入格式:第一行包含两个整数n和q(1≤n≤1e5,1≤q≤1e5);第二行包含n个整数,表示exp[1..n];接下来q行,每行三个整数,第一个数为操作类型(1或2),若为1则后接l、r、v;若为2则后接l、r。输出格式:对于每个操作2,输出一个整数,表示对应区间的总经验值之和。答案:区间加法和区间查询需使用线段树配合懒标记。线段树每个节点存储区间和sum和待下传的加法标记add。区间加法时,若当前节点区间完全包含在目标区间内,更新sum和add;否则下传标记后递归处理子节点。区间查询时,若当前节点区间完全包含在目标区间内返回sum,否则下传标记后递归查询子节点。具体实现:1.构建线段树,叶节点存储exp数组值,内部节点存储子节点和。2.操作1(区间加法):调用rangeAdd(l,r,v),更新对应区间的sum和add。3.操作2(区间查询):调用rangeQuery(l,r),返回区间和。时间复杂度:线段树构建O(n),每次操作O(logn),总复杂度O(n+qlogn),适用于1e5级别的输入。某电商平台统计2026年某类商品的日销售额,存储在数组sales中(下标从1开始)。系统需要支持三种操作:操作1为区间加法,对第l到r天的销售额每个增加v;操作2为区间乘法,对第l到r天的销售额每个乘以k(k为浮点数,保留两位小数);操作3为区间查询,计算第l到r天的总销售额之和(结果保留两位小数)。输入格式:第一行包含两个整数n和q(1≤n≤1e5,1≤q≤1e5);第二行包含n个浮点数,表示sales[1..n](保留两位小数);接下来q行,每行包含若干整数和浮点数:若为操作1,输入1lrv;若为操作2,输入2lrk;若为操作3,输入3lr。输出格式:对于每个操作3,输出一个浮点数,保留两位小数,表示对应区间的总销售额之和。答案:同时支持区间加法、乘法和求和,需使用线段树维护乘法标记(mul)和加法标记(add),且乘法优先于加法。每个节点sum表示区间和,mul初始为1.0,add初始为0.0。区间乘法时,sum=k,mul=k,add=k;区间加法时,sum+=vlen(len为区间长度),add+=v。下传标记时先处理乘法,再处理加法。具体实现:同时支持区间加法、乘法和求和,需使用线段树维护乘法标记(mul)和加法标记(add),且乘法优先于加法。每个节点sum表示区间和,mul初始为1.0,add初始为0.0。区间乘法时,sum=k,mul=k,add=k;区间加法时,sum+=vlen(len为区间长度),add+=v。下传标记时先处理乘法,再处理加法。具体实现:1.构建线段树,叶节点存储sales数组值,内部节点存储子节点和。2.操作1(区间加法):调用rangeA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年特种设备安全管理人员法规考试题库真题模拟试卷及答案
- 2026年辽宁学考选择性考试生物模拟试题及答案
- 2026年银行系统招聘考试(反洗钱知识)综合能力测试题及答案一
- 2026年化妆品安全评估师职业技能检定试卷及答案
- 2026年加油站笔试试题及答案
- 市场营销合作项目合同协议二篇
- 河南省郑州市中牟县青年路小学2025届三年级数学下学期期中模拟试题含答案
- 河南省许昌市魏都区2025年三下数学期中调研模拟试题含答案解析
- 河南省许昌市建安区2025届数学四年级第二学期期末考试模拟试题含答案
- 河南省焦作市修武县2025-2026学年数学三年级第二学期期中达标检测模拟试题含答案
- 2025年中国银行总行招聘笔试试题+答案
- 2025年医疗质量安全核心制度考试试题(附答案)
- 2027届上海市西南位育初三语文9月月考试卷及答案
- 2026年卫生高级职称面审答辩(康复医学科)副高经典试题及答案
- 血液肿瘤相关肠梗阻护理专家共识(2026年版)
- 2026年电机学考试复习题库及答案详解
- QMS新版标准讲解新旧比照
- 预制桩沉桩专项施工方案
- 第5课《中国人民站起来了》第二课时(教学课件)
- 《培养德智体美劳全面发展的社会主义建设者和接班人》教学设计2
- 四年级英语阅读理解20篇
评论
0/150
提交评论