news 2026/6/23 20:39:17

打卡信奥刷题(2539)用C++实现信奥 P2068 统计和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2539)用C++实现信奥 P2068 统计和

P2068 统计和

题目描述

给定一个长度为n(0≤n≤105)n(0\leq n\leq 10^5)n(0n105),初始值都为000的序列,x(0≤x≤105)x(0\leq x\leq 10^5)x(0x105)次的修改某些位置上的数字,每次加上一个数,并在此期间提出y(0≤y≤105)y(0\leq y\leq 10^5)y(0y105)个问题,求每段区间的和。

输入格式

第一行111个整数,表示序列的长度nnn

第二行111个整数,表示操作的次数w(0≤w≤2×105)w(0\leq w\leq 2\times 10^5)w(0w2×105)

后面依次是www行,分别表示加入和询问操作。

其中,加入用x表示,询问用y表示。

xxx的格式为x a b表示在序列上第aaa个数加上bbb。保证1≤a≤n1 \leq a \leq n1an1≤b≤1091 \leq b \leq 10^91b109

yyy的格式为y a b表示询问aaabbb区间的加和。保证1≤a≤b≤n1 \leq a \leq b \leq n1abn

输出格式

每行一个正整数,分别是每次询问的结果。

输入输出样例 #1

输入 #1

5 4 x 3 8 y 1 3 x 4 9 y 3 4

输出 #1

8 17

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=1e5*4;intn,m;longlongtree[N*4];voidchange_point(intk,intl,intr,intx,intv)//单点修改{if(r<x||l>x)return;//当前区间与原序列的位置完全无交集if(l==x&&r==x)//当前结点为对应的叶子结点{tree[k]+=v;return;}intmid=(l+r)/2;change_point(k*2,l,mid,x,v);change_point(k*2+1,mid+1,r,x,v);//修改右子区间tree[k]=tree[k*2]+tree[k*2+1];//更新相关的值}longlongsearch(intk,intl,intr,intx,inty){if(y<l||x>r)return0;//当前区间与原序列的位置完全无交集,返回一个不影响答案的值if(l>=x&&r<=y)returntree[k];//询问区间在当前区间,返回维护好的值intmid=(l+r)/2;returnsearch(k*2,l,mid,x,y)+search(k*2+1,mid+1,r,x,y);}intmain(){scanf("%d %d",&n,&m);for(inti=1;i<=m;i++){charc;intx,y;cin>>c>>x>>y;if(c=='x')change_point(1,1,n,x,y);//单点修改if(c=='y')printf("%lld\n",search(1,1,n,x,y));//区间查询}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 1:23:52

31、编程技巧与实用程序解析

编程技巧与实用程序解析 在编程领域,有许多实用的技巧和程序可以帮助我们更高效地完成任务。本文将介绍一些常见的编程技巧和实用程序,包括文件处理、流编辑、库函数使用以及寻找变位词等方面。 1. 文件处理与输出重定向 在编程中,文件处理是一项常见的任务。有时候我们需…

作者头像 李华
网站建设 2026/6/23 4:59:59

38、深入探索 gawk 扩展开发:性能优化与功能定制

深入探索 gawk 扩展开发:性能优化与功能定制 1. 变量访问性能优化 在 gawk 中,每次访问和修改变量时,会有性能损耗,因为 gawk 必须每次都查找变量。这并非只是理论问题,而是实际存在的性能瓶颈。 为了解决这个问题,如果你的扩展需要花费大量时间读取和/或修改变量的值,…

作者头像 李华
网站建设 2026/6/23 19:43:57

数据结构之递归-如何巧妙利用递归函数的返回值

下面以一个例题为例进行阐述。给定一棵二叉树&#xff0c;返回所有表示从根结点到叶子结点路径的字符串。解析&#xff1a;该过程用递归实现更好理解和处理&#xff0c;要得到由1为根&#xff0c;5和3为叶子节点的所有路径组成的字符串&#xff0c;我们只需要用1->拼接上其左…

作者头像 李华
网站建设 2026/6/23 19:51:09

46、深入探索编程符号、函数与操作:从基础到高级应用

深入探索编程符号、函数与操作:从基础到高级应用 1. 符号与运算符 在编程的世界里,各种符号和运算符是构建代码逻辑的基石。以下是一些常见符号及其用途: - 逻辑与比较运算符 : ! (非运算符)、 != (不等于)、 !~ (不匹配正则表达式)、 && (逻辑…

作者头像 李华
网站建设 2026/6/22 21:20:25

论AI时代下 “马扁” 子的趋势分析(一)

前言:问君能有几多愁,恰似一江春水向东流故事是这样的… 随着九紫离火大运拉开帷幕,愈演愈烈… 时间加速幻觉加重的背后,是对人性精心设计的一个个陷进,太多太多的痴男怨女,构成这副宏大的叙画. 不知觉中已深入局,立足根本,见真我… 北京的冬天,迎来2025年的第一场降雪,记忆中的…

作者头像 李华
网站建设 2026/6/23 0:37:06

7天拿下微软PowerBI证书真的太香了

&#x1f3af;微软认证&#xff1a;Power BI数据分析师助理&#xff0c;展示与使用 Microsoft Power BI 进行建模、可视化和分析数据的业务和技术要求相一致的方法和实践&#xff0c;是数据分析领域的敲门砖&#xff0c;特别适合想快速入门数据可视化工具的同学&#x1f49b;微…

作者头像 李华