资源限制

时间限制: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. 蓝桥杯算法训练合集三 1.车的位置2.24点3.最大分解4.RP大冒险5.士兵杀敌(二)

    目录 1.车的位置(搜索) 2.24点(搜索) 3.最大分解(贪心) 4.RP大冒险 5.士兵杀敌(二) 1.车的位置(搜索) 问题描述 在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两 ...

  2. C++试题 算法训练 相邻数对、画图

    试题 算法训练 相邻数对 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示 ...

  3. 试题 算法训练 黑色星期五

    试题 算法训练 黑色星期五 题目描述: 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是& ...

  4. 试题 算法训练 九宫格的奥(解题思路与代码)

    试题 算法训练 九宫格的奥(解题思路与代码) 解题思路 解题思路 通过题目我们了解到此题有三个小题,分别代表不同的功能,但总的功能就是,判断九宫格里面的数字还原成"标准型"九宫格时 ...

  5. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  6. 蓝桥杯 试题 算法训练 印章

    试题 算法训练 印章 动态规划: 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...

  7. NYOJ 116士兵杀敌(二) 树状数组

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=116 士兵杀敌(一) 数组是固定的,所以可以用一个sum数组来保存每个元素的和就行,但是不 ...

  8. 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?

    试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...

  9. 蓝桥杯试题 算法训练 印章

    试题 算法训练 印章 C/C++ 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...

  10. 试题 算法训练 翻转旋转变换

    试题 算法训练 翻转旋转变换 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 现在有一张n行m列的由" ...

最新文章

  1. win7如何打开防火墙某个端口的tcp连接
  2. nyoj-999 师傅又被妖怪抓走了
  3. C语言操作符(又称运算符)(2)
  4. dedecms首页怎么调用公司简介的内容
  5. 设置允许远程连接MySQL (Ubuntu为例)
  6. python cannot import name main_virtualenv: cannot import name 'main'
  7. kylin启动netstat: n: unknown or uninstrumented protocol
  8. android非法字符 ufeff,Java-在Android Studi上编译时出现错误(1,1)非法字符'\ ufeff'...
  9. adaboost java_Adaboost的java实现 | 学步园
  10. 【CoreBluetooth】iOS 系统蓝牙框架
  11. firefox 邮箱分类过滤
  12. 小米抢发全尺寸人形机器人,全方面转型!
  13. Docker部署Jenkins服务
  14. AI绘画与虚拟人生成实践(三):让虚拟形象动起来!照片生成说话的视频
  15. 协方差,协方差矩阵,矩阵特征值
  16. 基于奇异值分解的图像压缩matlab
  17. 什么是最牛逼的代码?
  18. Python实现超简单【抖音】无水印视频批量下载
  19. 【课后习题】高等数学第七版上第一章 函数与极限 第六节 极限存在准则 两个重要极限
  20. 各种常用的二极管参数表

热门文章

  1. 微信小程序——API学习(一)
  2. #define PINT int * 与 typedef int * SINT;
  3. 标普云-数票通是什么?如何实现自动开票
  4. 2022年武汉市合同能源管理财政奖励项目申报条件及材料要求
  5. 梦想永远都不晚,致远航空解读飞行员肩章上的四道杠
  6. [c++学习笔记04]:引用的基本操作及注意事项
  7. 特斯拉大股东T. Rowe今年第一季度抛售81%所持股份
  8. vue结合tracking.js,实现web端人脸识别功能
  9. 【IEEE出版,多届会议历史,往届均已检索|南京工业大学主办,南京工业大学电气工程与控制科学学院承办|EI核心,Scopus检索】第十届IEEE电气工程与自动化国际学术论坛(IFEEA 2023)
  10. 【牛客网面经整理】7.20shopee一面面经,加入我自己整理的相关拓展问题(redis))