【acwing】前缀与差分

前缀和

题目

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

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

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

输入格式
第一行包含两个整数 n和 m。

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

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

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

求解

可以先用一个数组sum存储从0到i位置的前缀子列和。
sum[i] = sum[i-1]+a[i]
对于从第 l 个数到第 r 个数的和,可写作sum[r] - sum[l-1]

#include <iostream>using namespace std;int n, m;
int q[100010];
int sum[100010];void addsum(int q[], int n){int i =0;sum[0] = 0;for(i =1; i<=n ;i++){sum[i] = sum[i-1] + q[i-1];}
}int main(){cin>>n>>m;int i ;int start, end;for(i =0 ;i<n;i++){cin>>q[i];}addsum(q, n);for( i =0; i<m; i++){cin>>start>>end;cout<<sum[end] - sum[start-1]<<endl;}return 0;}

子矩阵的和

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

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

输入格式
第一行包含三个整数 n,m,q。

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

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

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

思路
在这里插入图片描述

#include <iostream>using namespace std;int n, m;
int q[1001][1001];
int qu;
int s[1001][1001];int main(){cin>>n>>m;cin>>qu;int i,j;for(i =0 ; i< n;i++){for(j =0 ; j< m; j++){cin>>q[i][j];}}s[1][1] = q[0][0];for(i =1 ; i<= n;i++){for(j =1 ; j<= m; j++){s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + q[i-1][j-1];//cout<<s[i][j]<<endl;}}int x1,y1,x2,y2;for( i =0 ; i<qu ;i++){cin>>x1>>y1>>x2>>y2;//cout<<s[x2][y2]<<" "<< s[x1-1][y2]<<" "<<s[x2][y1-1] <<" "<<s[x1-1][y1-1]<<endl;cout<<s[x2][y2] - s[x1-1][y2] - s[x2][y1-1] + s[x1-1][y1-1]<<endl;}}

差分

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

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

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

输入格式
第一行包含两个整数 n和 m。

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

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

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

思路
对原数组a构造差分数组b
在这里插入图片描述
试想 对从位置l开始到r的数组统统加c,直接循环需要(r-l+1)次
如果我们对其差分数组进行操作
b[l]+c后, 其原数组从i开始往后的所有数组都+c
b[r+1]+c后, 其原数组从r+1开始往后的所有数组都-c
所以。我们可以直接转换为
b[l]+= c;
b[r+1]-=c;

#include <iostream>using namespace std;int n;
int m;
int q[100001];
int b[100001];int main(){cin>>n>>m;int i ;for(i=1; i<=n; i++){cin>>q[i];}for(i=1; i<=n ;i ++){b[i] = q[i] - q[i-1];}int l, r,c;for(i =0; i<m ;i++){cin>>l>>r>>c;b[l]+= c;b[r+1]-=c;}for(i=1; i<=n; i++){q[i] = q[i-1] + b[i];cout<<q[i]<<" ";}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/268669.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你用VMware安装华为存储模拟器

你们好&#xff0c;我的网工朋友。 对于新手来说&#xff0c;很多人因为不清楚虚拟机的操作原理&#xff0c;导致不知道怎么安装创建虚拟机。 群里经常看到有人问虚拟机的相关问题&#xff0c;今天来一篇教你用Vmware虚拟机安装华为存储模拟器&#xff0c;一步步实现简单创建…

通过jenkins进行部署java程序到centos上

1.通过jumpserver访问到centos上&#xff0c;准备下java环境 // step1: 先编辑下 vim /etc/profile// step2: 编写好环境变量 JAVA_HOME/usr/local/java export JAVA_HOME export ZOOKEEPER_HOME/opt/zookeeper/apache-zookeeper-3.7.0-bin PATH$PATH:$JAVA_HOME/bin:$ZOOKEEP…

cgroup——在pod内使用cgroup限制CPU

在Kubernetes中&#xff0c;可以使用Cgroup来限制Pod中的CPU资源使用。具体步骤如下&#xff1a; Pod的定义文件中配置 在Pod的定义文件中&#xff0c;添加资源限制&#xff08;limits&#xff09;和资源请求&#xff08;requests&#xff09;字段。例如&#xff1a; apiVer…

ArrayList集合源码分析

ArrayList集合源码分析 文章目录 ArrayList集合源码分析一、字段分析二、构造方法分析三、方法分析四、总结 内容如有错误或者其他需要注意的知识点&#xff0c;欢迎指正或者探讨补充&#xff0c;共同进步。 一、字段分析 //默认初始化容量。这里和Vector一样&#xff0c;只是…

刷题日记:面试经典 150 题 DAY3

刷题日记&#xff1a;面试经典 150 题 DAY3 274. H 指数238. 除自身以外数组的乘积380. O(1) 时间插入、删除和获取随机元素134. 加油站135. 分发糖果 274. H 指数 原题链接 274. H 指数 重要的是都明白H指数到底是是个啥。注意到如果将引用数从大到小排序&#xff0c;则对于…

windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

【开发工具】GIF 录屏工具推荐 ( GIF123 - 推荐使用 | GifCam | LICEcap )

文章目录 一、GIF 录屏工具推荐1、GIF123 ( 推荐使用 )2、GifCam3、LICEcap 本博客中介绍的 3 款 GIF 录屏工具下载地址 : https://download.csdn.net/download/han1202012/88905642 也可以到对应的官网独立下载 : GIF123 : https://gif123.aardio.com/ ;GifCam : https://bl…

【JavaEE】_Spring MVC 项目传参问题

目录 1. 传递单个参数 1.1 关于参数名的问题 2. 传递多个参数 2.1 关于参数顺序的问题 2.2 关于基本类型与包装类的问题 3. 使用对象传参 4. 后端参数重命名问题 4.1 关于RequestPara注解 1. 传递单个参数 现创建Spring MVC项目&#xff0c;.java文件内容如下&#xff…

探索数字未来:DApp钱包Defi引领新纪元

​小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 随…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

深入分析Android运行时环境ART:原理、特点与优化策略

摘要 随着移动互联网的快速发展&#xff0c;智能手机的性能和功能日益强大&#xff0c;其中Android操作系统因其开放性和灵活性而占据主导地位。Android运行时环境&#xff08;ART&#xff09;作为执行应用程序代码的关键组件&#xff0c;在系统性能和用户体验方面起着至关重要…

【探索AI】十二 深度学习之第2周:深度神经网络(一)深度神经网络的结构与设计

第2周&#xff1a;深度神经网络 将从以下几个部分开始学习&#xff0c;第1周的概述有需要详细讲解的的同学自行百度&#xff1b; 深度神经网络的结构与设计 深度学习的参数初始化策略 过拟合与正则化技术 批标准化与Dropout 实践&#xff1a;使用深度学习框架构建简单的深度神…

Topaz Video AI:一键提升视频品质,智能重塑影像魅力 mac/win版

Topaz Video AI是一款革命性的视频智能处理软件&#xff0c;它利用先进的机器学习和人工智能技术&#xff0c;为视频创作者提供了前所未有的视频增强和修复功能。无论您是专业视频编辑师、摄影师&#xff0c;还是热爱视频创作的爱好者&#xff0c;Topaz Video AI都能帮助您轻松…

Mamba与MoE架构强强联合,Mamba-MoE高效提升LLM计算效率和可扩展性

论文题目&#xff1a; MoE-Mamba: Efficient Selective State Space Models with Mixture of Experts 论文链接&#xff1a; https://arxiv.org/abs/2401.04081 代码仓库&#xff1a; GitHub - llm-random/llm-random 作为大型语言模型&#xff08;LLM&#xff09;基础架构的后…

数字化转型导师鹏:政府数字化转型政务服务类案例研究

政府数字化转型政务服务类案例研究 课程背景&#xff1a; 很多地方政府存在以下问题&#xff1a; 不清楚标杆省政府数字化转型的政务服务类成功案例 不清楚地级市政府数字化转型的政务服务类成功案例 不清楚县区级政府数字化转型的政务服务类成功案例 课程特色&#x…

【查找算法】二分查找

一&#xff1a;二分查找 1.1 基本概念 二分查找也称折半查找&#xff08;Binary Search&#xff09;&#xff0c;它是一种效率较高的查找方法。但是&#xff0c;折半查找要求线性表必须采用顺序存储结构&#xff0c;而且表中元素按关键字有序排列。 1.2 原理 查找的目标数据元…

MySQL 8.0.35 企业版安装和启用TDE插件keyring_encrypted_file

本文主要记录MySQL企业版TDE插件keyring_encrypted_file的安装和使用。 TDE说明 TDE( Transparent Data Encryption,透明数据加密) 指的是无需修改应用就可以实现数据的加解密&#xff0c;在数据写磁盘的时候加密&#xff0c;读的时候自动解密。加密后其他人即使能够访问数据库…

Progressive Widening

下面的解释来源于论文《Monte Carlo Tree Search With Iteratively Refining State Abstractions》&#xff0c;因为这篇论文的重点不是Progressive Widening&#xff0c;所以就不全文学习了&#xff0c;只摘抄其中关于Progressive Widening的部分。 Progressive Widening&…

蓝牙耳机和笔记本电脑配对连接上了,播放设备里没有显示蓝牙耳机这个设备,选不了输出设备

环境&#xff1a; WIN10 杂牌蓝牙耳机6s 问题描述&#xff1a; 蓝牙耳机和笔记本电脑配对连接上了&#xff0c;播放设备里没有显示蓝牙耳机这个设备&#xff0c;选不了输出设备 解决方案&#xff1a; 1.打开设备和打印机&#xff0c;找到这个设备 2.选中这个设备&#…

Nacos配置管理

Nacos除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#xff0c;可以集中管理所有…