news 2026/6/20 1:14:01

打卡信奥刷题(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/18 2:13:16

27、深入探索用户与组数据库及数组遍历

深入探索用户与组数据库及数组遍历 在计算机系统中,获取用户和组的相关信息以及处理数组数据是常见的操作。下面将详细介绍如何读取用户和组数据库,以及如何遍历多维数组。 读取用户数据库 在系统中, PROCINFO 数组可提供当前用户的真实和有效用户及组 ID 号,但这些数…

作者头像 李华
网站建设 2026/6/15 19:26:02

33、gawk 编程实用指南:网络编程、性能分析与国际化

gawk 编程实用指南:网络编程、性能分析与国际化 一、gawk 网络编程 gawk 不仅能在同一系统上与协进程建立双向管道,还能通过 IP 网络与其他系统上的进程建立双向连接。gawk 通过识别以 /inet/ 、 /inet4/ 或 /inet6/ 开头的特殊文件名来使用 TCP/IP 网络。 特殊文件…

作者头像 李华
网站建设 2026/6/15 15:55:03

【EF Core】“Code First”方案下以编程方式生成迁移

&#xff08;Migrations&#xff09;是个啥玩意&#xff1f;IT 界从来不缺造词人才&#xff0c;总喜欢造各种各样的词。之所以叫迁移&#xff0c;大概是因为使用它可以创建并在后期修订数据库。总之&#xff0c;说人话就是迁移可以生成一系列的 .NET 类&#xff0c;每个类代表一…

作者头像 李华
网站建设 2026/6/16 23:15:31

【完整源码+数据集+部署教程】个人安全防护装备检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着社会经济的快速发展和工业化进程的加快&#xff0c;个人安全防护装备&#xff08;PPE&#xff09;的使用变得愈发重要。尤其是在建筑、制造、化工等高风险行业&#xff0c;PPE的佩戴不仅关乎工人的个人安全&#xff0c;也直接影响到企业的生产效率和安全管理水…

作者头像 李华
网站建设 2026/6/17 21:27:58

恒压恒流同步降压转换器 5.1V固定输出/可调输出YB2416E 30V/3A

YB2416 是一款输入耐压超过 40V&#xff0c;在 4.5V~30V 输入电压条件下正常工作&#xff0c;并且能够实现精确恒压以 及恒流的同步降压型 DC-DC 转换器。YB2416 内部集成 80mΩ的上管和 40mΩ的下管&#xff0c; 无需外部肖特基二极管&#xff0c;可连续输出 3A 电流。输出 3A…

作者头像 李华
网站建设 2026/6/15 15:14:55

如何利用JSP实现大文件上传的进度监控?

陕西Java程序员外包项目解决方案&#xff1a;原生JS大文件传输系统&#xff08;兼容IE9&#xff09; 兄弟&#xff0c;作为陕西的个人Java程序员&#xff0c;我太懂你现在的处境了——甲方要大文件上传&#xff0c;还要兼容IE9&#xff0c;预算卡得死死的&#xff0c;自己头发…

作者头像 李华