试题 算法训练 士兵杀敌(二)
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
南将军手下有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
思路:这道题就是运用树状数组做
(注意:多组测试数据,以EOF结尾;所以输入的n和m不止一组,以EOF结尾就是输入的返回值为EOF
数组的初始化应该使用memset()函数)
#include <bits/stdc++.h>
using namespace std;
int n,m;
int a[1000005];int lowbit(int x){return x&(-x);
}int query(int x){int res=0;while(x>0){res+=a[x];x-=lowbit(x);}return res;
}void add(int x,int b){while(x<=n){a[x]+=b;x+=lowbit(x);}
}int main(){while(cin>>n&&cin>>m){memset(a,0,sizeof a);for(int i=1;i<=n;i++){int x;cin>>x;add(i,x);}while(m--){int x,y;string d;cin>>d>>x>>y;if(d=="ADD"){add(x,y);}else if(d=="QUERY"){cout<<query(y)-query(x-1)<<endl;}else{return 0;}}}return 0;
}
试题 算法训练 士兵杀敌(二)相关推荐
- 蓝桥杯算法训练合集三 1.车的位置2.24点3.最大分解4.RP大冒险5.士兵杀敌(二)
目录 1.车的位置(搜索) 2.24点(搜索) 3.最大分解(贪心) 4.RP大冒险 5.士兵杀敌(二) 1.车的位置(搜索) 问题描述 在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两 ...
- C++试题 算法训练 相邻数对、画图
试题 算法训练 相邻数对 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示 ...
- 试题 算法训练 黑色星期五
试题 算法训练 黑色星期五 题目描述: 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是& ...
- 试题 算法训练 九宫格的奥(解题思路与代码)
试题 算法训练 九宫格的奥(解题思路与代码) 解题思路 解题思路 通过题目我们了解到此题有三个小题,分别代表不同的功能,但总的功能就是,判断九宫格里面的数字还原成"标准型"九宫格时 ...
- 蓝桥杯:试题 算法训练 Remember the A La Mode
蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...
- 蓝桥杯 试题 算法训练 印章
试题 算法训练 印章 动态规划: 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...
- NYOJ 116士兵杀敌(二) 树状数组
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=116 士兵杀敌(一) 数组是固定的,所以可以用一个sum数组来保存每个元素的和就行,但是不 ...
- 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?
试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...
- 蓝桥杯试题 算法训练 印章
试题 算法训练 印章 C/C++ 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...
- 试题 算法训练 翻转旋转变换
试题 算法训练 翻转旋转变换 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 现在有一张n行m列的由" ...
最新文章
- win7如何打开防火墙某个端口的tcp连接
- nyoj-999 师傅又被妖怪抓走了
- C语言操作符(又称运算符)(2)
- dedecms首页怎么调用公司简介的内容
- 设置允许远程连接MySQL (Ubuntu为例)
- python cannot import name main_virtualenv: cannot import name 'main'
- kylin启动netstat: n: unknown or uninstrumented protocol
- android非法字符 ufeff,Java-在Android Studi上编译时出现错误(1,1)非法字符'\ ufeff'...
- adaboost java_Adaboost的java实现 | 学步园
- 【CoreBluetooth】iOS 系统蓝牙框架
- firefox 邮箱分类过滤
- 小米抢发全尺寸人形机器人,全方面转型!
- Docker部署Jenkins服务
- AI绘画与虚拟人生成实践(三):让虚拟形象动起来!照片生成说话的视频
- 协方差,协方差矩阵,矩阵特征值
- 基于奇异值分解的图像压缩matlab
- 什么是最牛逼的代码?
- Python实现超简单【抖音】无水印视频批量下载
- 【课后习题】高等数学第七版上第一章 函数与极限 第六节 极限存在准则 两个重要极限
- 各种常用的二极管参数表
热门文章
- 微信小程序——API学习(一)
- #define PINT int * 与 typedef int * SINT;
- 标普云-数票通是什么?如何实现自动开票
- 2022年武汉市合同能源管理财政奖励项目申报条件及材料要求
- 梦想永远都不晚,致远航空解读飞行员肩章上的四道杠
- [c++学习笔记04]:引用的基本操作及注意事项
- 特斯拉大股东T. Rowe今年第一季度抛售81%所持股份
- vue结合tracking.js,实现web端人脸识别功能
- 【IEEE出版,多届会议历史,往届均已检索|南京工业大学主办,南京工业大学电气工程与控制科学学院承办|EI核心,Scopus检索】第十届IEEE电气工程与自动化国际学术论坛(IFEEA 2023)
- 【牛客网面经整理】7.20shopee一面面经,加入我自己整理的相关拓展问题(redis))