news 2026/6/9 22:21:38

acwing基础篇day2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
acwing基础篇day2

795.前缀和

输入一个长度为 n 的整数序列。

接下来再输入 m 个询问,每个询问输入一对 l,r。

对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。

输入格式

第一行包含两个整数 n 和 m。

第二行包含 n 个整数,表示整数数列。

接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。

输出格式

共 m 行,每行输出一个询问的结果。

数据范围

1≤l≤r≤n,
1≤n,m≤100000,
−1000≤数列中元素的值≤1000

输入样例:

5 3 2 1 3 6 4 1 2 1 3 2 4

输出样例:

3 6 10

代码:

#include<iostream>usingnamespacestd;constintN=100010;intn,m;inta[N],s[N];intmain(){cin>>n>>m;for(inti=1;i<=n;i++)cin>>a[i],s[i]=s[i-1]+a[i];while(m--){intl,r;cin>>l>>r;cout<<s[r]-s[l-1]<<endl;}return0;}

796.子矩阵的和

输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。

对于每个询问输出子矩阵中所有数的和。

输入格式

第一行包含三个整数 n,m,q。

接下来 n 行,每行包含 m 个整数,表示整数矩阵。

接下来 q 行,每行包含四个整数 x1,y1,x2,y2,表示一组询问。

输出格式

共 q 行,每行输出一个询问的结果。

数据范围

1≤n,m≤1000,
1≤q≤200000,
1≤x1≤x2≤n,
1≤y1≤y2≤m,
−1000≤矩阵内元素的值≤1000

输入样例:

3 4 3 1 7 2 4 3 6 2 8 2 1 2 3 1 1 2 2 2 1 3 4 1 3 3 4

输出样例:

17 27 21

代码:

#include<iostream>usingnamespacestd;constintN=1010;inta[N][N],s[N][N];intmain(){intn,m,q;cin>>n>>m>>q;for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)cin>>a[i][j];for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];while(q--){intx1,y1,x2,y2;cin>>x1>>y1>>x2>>y2;cout<<s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]<<endl;}return0;}

797.差分

输入一个长度为 n 的整数序列。

接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。

请你输出进行完所有操作后的序列。

输入格式

第一行包含两个整数 n 和 m。

第二行包含 n 个整数,表示整数序列。

接下来 m 行,每行包含三个整数 l,r,c,表示一个操作。

输出格式

共一行,包含 n 个整数,表示最终序列。

数据范围

1≤n,m≤100000,
1≤l≤r≤n,
−1000≤c≤1000,
−1000≤整数序列中元素的值≤1000

输入样例:

6 3 1 2 2 1 2 1 1 3 1 3 5 1 1 6 1

输出样例:

3 4 5 3 4 2

代码:

#include<iostream>usingnamespacestd;constintN=100010;inta[N],b[N];voidinsert(intl,intr,intc){b[l]+=c;b[r+1]-=c;}intmain(){intn,m;cin>>n>>m;for(inti=1;i<=n;i++)cin>>a[i];for(inti=1;i<=n;i++)insert(i,i,a[i]);while(m--){intl,r,c;cin>>l>>r>>c;insert(l,r,c);}for(inti=1;i<=n;i++)b[i]=b[i]+b[i-1];for(inti=1;i<=n;i++)cout<<b[i]<<" ";return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 15:36:18

基于SpringBoot+Vue的Spring Boot疗养院管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

系统架构设计### 摘要 随着人口老龄化趋势加剧&#xff0c;疗养院管理系统的需求日益增长。传统疗养院管理模式依赖人工操作&#xff0c;存在效率低、数据易丢失、信息共享困难等问题&#xff0c;难以满足现代疗养院的运营需求。数字化管理系统能够有效提升疗养院的服务质量和…

作者头像 李华
网站建设 2026/6/8 19:17:25

计算机是如何运作的?看看汇编语言吧

一、寄存器 寄存器是中央处理器&#xff08;CPU&#xff09;内部集成的一组高速、小型的存储单元&#xff0c;其容量通常仅为几个字节&#xff08;如8位、16位、32位或64位&#xff09;&#xff0c;但访问速度远高于主内存&#xff08;RAM&#xff09;甚至高速缓存&#xff08…

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

【Java 笔记】面向对象核心 - 内存图

核心总结Java 三种场景内存图的核心逻辑&#xff1a;内存分区&#xff1a;栈存局部变量 / 对象引用&#xff08;地址&#xff09;&#xff0c;堆存对象及成员变量&#xff0c;方法区存类信息&#xff1b;单个对象&#xff1a;栈中引用指向堆中唯一对象&#xff0c;通过地址操作…

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

企业级经方药食两用服务平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着中医药文化的全球推广和健康理念的普及&#xff0c;药食两用产品的市场需求显著增长。传统的中药企业及健康管理平台在信息化管理方面仍存在效率低下、数据孤岛等问题&#xff0c;亟需一套高效、智能的管理系统实现资源整合与流程优化。企业级经方药食两用服务平台旨…

作者头像 李华