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

打卡信奥刷题(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考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.cnnetsun.cn/news/62658.html

相关文章:

  • 31、编程技巧与实用程序解析
  • 38、深入探索 gawk 扩展开发:性能优化与功能定制
  • 数据结构之递归-如何巧妙利用递归函数的返回值
  • 46、深入探索编程符号、函数与操作:从基础到高级应用
  • 论AI时代下 “马扁” 子的趋势分析(一)
  • 7天拿下微软PowerBI证书真的太香了
  • JSP中如何设计大文件上传的交互界面与用户体验?
  • wangEditor粘贴ppt幻灯片转存网页兼容处理
  • 从 paperxie 到工具矩阵:AI 开题报告工具如何帮你突破 “学术启动瓶颈”?
  • 工具矩阵:开题报告写作的 “规范效率工具箱”——9款 AI 工具的场景化适配实践
  • 咱们唠一下:单例Bean的“出生记”——从“零”到“成品”的全过程
  • Qt快速检测Ubuntu进程状态
  • 73、Sendmail配置参数详解
  • 【超全】基于SSM的企业客户管理系统【包括源码+文档+调试】
  • 数据点的“社交距离”:衡量它们之间的相似与差异
  • 论文格式魔法全书:用Word通配符和宏一键完成专业排版
  • 如果GPT-5.2可以胜任你的大部分工作,你会选择全面拥抱它,还是会恐惧它带来的冲击?它会让你更自由,还是更焦虑?
  • 2026年大模型学习资源全攻略:从零到精通,小白到程序员,一篇超详细的从入门到精通大模型学习指南!
  • 15、优化Windows系统性能:媒体定制与系统分析指南
  • 【软考系统架构设计师】六、软件工程
  • 【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
  • 数控滑台的基本概念
  • FMD辉芒微电子8位微控制器芯片,荣获“深圳市制造业单项冠军企业”认定
  • Unity XR 编辑器VR设备模拟功能
  • 国产银河麒麟SP3服务器部署mysql主从同步
  • BabylonJS开发:从零基础到项目实战
  • HDF5文件学习笔记
  • Web应用安全头部信息验证方法与测试实践
  • 学校食堂出入库管理软件
  • 基于MATLAB的线性判别分析(LDA)降维算法实现方案