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

蓝桥杯练习系统(算法训练)ALGO-992 士兵杀敌(二)

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

  南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。
  小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。
  南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。

输入格式

  多组测试数据,以EOF结尾;
  每组第一行是两个整数N,M,其中N表示士兵的个数(1<N<1000000),M表示指令的条数。(1<M<100000)
  随后的一行是N个整数,ai表示第i号士兵杀敌数目。(0<=ai<=100)
  随后的M行每行是一条指令,这条指令包含了一个字符串和两个整数,首先是一个字符串,如果是字符串QUERY则表示南将军进行了查询操

  作,后面的两个整数m,n,表示查询的起始与终止士兵编号;如果是字符串ADD则后面跟的两个整数I,A(1<=I<=N,1<=A<=100),表示第I个士兵新增杀敌数为A.

输出格式

  对于每次查询,输出一个整数R表示第m号士兵到第n号士兵的总杀敌数,每组输出占一行

样例输入

5 6
1 2 3 4 5
QUERY 1 3
ADD 1 2
QUERY 1 3
ADD 2 3
QUERY 1 2
QUERY 1 5

样例输出

6
8
8
20

#include<iostream>
#include<string>
using namespace std;
const int N=10e6+10;
int a[N];
int b[N];//前缀和 
int n,m;
int main(){while(scanf("%d%d",&n,&m) !=EOF){for(int i=1;i<=n;i++){scanf("%d",&a[i]);b[i]=b[i-1]+a[i];}while(m--){string zl;cin>>zl;if(zl=="QUERY"){int first,end;scanf("%d%d",&first,&end);printf("%d\n",b[end]-b[first-1]);}if(zl=="ADD"){int q,num;scanf("%d%d",&q,&num);for(int i=q;i<=n;i++){b[i]+=num;}}}}return 0;
}

思路:前缀和。 

http://www.lryc.cn/news/309902.html

相关文章:

  • Pycharm下如何生成exe软件
  • KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
  • YOLOv9独家改进|动态蛇形卷积Dynamic Snake Convolution与空间和通道重建卷积SCConv与RepNCSPELAN4融合
  • XSS初级漏洞靶场
  • k8s pv与pvc理解与实践
  • Unity游戏输入系统(新版+旧版)
  • 区块链媒体:链游媒体宣发渠道9个方法分享-华媒舍
  • LeetCode--42
  • 【解决】虚幻导入FBX模型不是一个整体
  • 第四十八回 解珍解宝双越狱 孙立孙新大劫牢-Python模块和包概念与使用
  • 【Spring连载】使用Spring Data访问 MongoDB----对象映射之属性转换器
  • 【axiox】前后端接口通讯数据交互
  • 《Linux C编程实战》笔记:共享内存
  • 【GitHub】修改默认分支
  • 常用Linux 命令汇总
  • 13 双口 RAM IP 核
  • 【高级数据结构】Trie树
  • 国际化 Vue-i18n的安装与使用 (Vue2.0 / Vue3.0)
  • Linux 学习笔记(8)
  • 【python】1.python3.12.2和pycharm社区版的安装指南
  • Ubuntu将c++编译成.so文件并测试
  • 数据分析-Pandas数据的探查面积图
  • 美团分布式 ID 框架 Leaf 介绍和使用
  • Ubuntu20.04: UE4.27 中 Source Code 的编辑器下拉框没有 Rider选项
  • 【论文阅读-PRIVGUARD】Day4:3节
  • 新一代电话机器人开源PHP源代码
  • dockerdocker-copose_限制容器cpu和内存
  • 【leetcode】圆圈中最后剩下的数字
  • 利用python批量将.shp文件转换坐标生成.geojson文件,再将.geojson转换成.csv文件,最后将csv文件插入数据库表
  • 远程服务器Ubuntu 18.04安装VNC远程桌面