hdu 1166 敌兵布阵(树状数组裸题)

Creo二次开发环境配置与DLL项目实战指南(Creo8.0+VS2019) 本文详细介绍了Creo8.0与VS2019环境下的二次开发配置与DLL项目实战指南,涵盖环境准备、版本匹配、DLL项目创建、核心代码编写、部署调试及常见报错处理。重点解析了Creo二次开发中的关键配置和优化技巧,帮助开发者高效解决实际问题。 阅读详情

敌兵布阵

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 96034    Accepted Submission(s): 40555


Problem Description
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。
中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营地到第10个营地共有多少人!”Tidy就要马上开始计算这一段的总人数并汇报。但敌兵营地的人数经常变动,而Derek每次询问的段都不一样,所以Tidy不得不每次都一个一个营地的去数,很快就精疲力尽了,Derek对Tidy的计算速度越来越不满:"你个死肥仔,算得这么慢,我炒你鱿鱼!”Tidy想:“你自己来算算看,这可真是一项累人的工作!我恨不得你炒我鱿鱼呢!”无奈之下,Tidy只好打电话向计算机专家Windbreaker求救,Windbreaker说:“死肥仔,叫你平时做多点acm题和看多点算法书,现在尝到苦果了吧!”Tidy说:"我知错了。。。"但Windbreaker已经挂掉电话了。Tidy很苦恼,这么算他真的会崩溃的,聪明的读者,你能写个程序帮他完成这项工作吗?不过如果你的程序效率不够高的话,Tidy还是会受到Derek的责骂的.
 

Input
第一行一个整数T,表示有T组数据。
每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。
接下来每行有一条命令,命令有4种形式:
(1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30)
(2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30);
(3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j个营地的总人数;
(4)End 表示结束,这条命令在每组数据最后出现;
每组数据最多有40000条命令
 

Output
对第i组数据,首先输出“Case i:”和回车,
对于每个Query询问,输出一个整数并回车,表示询问的段中的总人数,这个数保持在int以内。
 

Sample Input
1 10 1 2 3 4 5 6 7 8 9 10 Query 1 3 Add 3 6 Query 2 7 Sub 10 2 Add 6 3 Query 3 10 End
 

Sample Output
Case 1: 6 33 59
 

Author
Windbreaker

树状数组入门题,直接上代码。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MAX_N 50100
using namespace std;
int t,n,tree[MAX_N],sum[MAX_N],x;
int lowbit(int i)
{
    return i&(-i);
}
void update(int i,int x)
{
    while(i<=MAX_N)
    {
        tree[i]+=x;
        i+=lowbit(i);
    }
}
int query(int n)
{
    int sum=0;
    while(n>0)
    {
        sum+=tree[n];
        n-=lowbit(n);
    }
    return sum;
}
int main()
{
    scanf("%d",&t);
    for(int k=1;k<=t;k++)
    {
        memset(tree,0,sizeof(tree));
        memset(sum,0,sizeof(sum));
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            update(i,x);
        }
        printf("Case %d:\n",k);
        char a[10];
        int d,c,l,r;
        while(~scanf("%s",a))
        {
            if(a[0]=='Q')
            {
                scanf("%d%d",&l,&r);
                printf("%d\n",query(r)-query(l-1));
            }
            else if(a[0]=='A')
            {
                scanf("%d%d",&d,&c);
                update(d,c);
            }
            else if(a[0]=='S')
            {
                scanf("%d%d",&d,&c);
                update(d,-c);
            }
            else break;
        }
    }
    return 0;
}


SAP会计凭证导入ABAP开发模板+注意点—附带源码 开发并不仅仅只要考虑实现的功能,只实现功能的是程序,考虑到使用场景的是工程。使用bapi校验创建会计凭证的数据,报错和参数和正式创建一致。用途,防止产生错误的凭证,即使财务凭证可以冲销。正式创建会计凭证。隐藏的坑。 阅读详情

相关推荐

数据仓库的复用性:设计和构建一个高复用性的数仓

数据仓库的复用性是指在数据仓库的设计和使用过程中,能够实现数据、模型、流程、工具等多个层面的重复利用,减少重复开发,提高开发效率,降低维护成本,并增强灵活性和可扩展性。

z1941563559的博客 1307

树状数组练习题

一、 敌兵布阵(模板裸题) 1.题目描述 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如D

weixin_51552756的博客 475

QuestaSim使用Xilinx库的设置

安装QuestaSim

miracle_eicont的专栏 3409

CF 121E - Lucky Array(树状数组裸题)

题目链接:http://codeforces.com/problemset/problem/121/E 题意:幸运数是指只由4,7组成的数,例如4,7,47,74,447……,这道题先给你n个数的数组,再给你m个操作,操作有两种:1、count l r(计算[l,r]区间内幸运数的总数,并输出结果);2、add l r d(区间内的每个数都加d) 思路:由于数组中每个数都小于104,所以只

风尘_浪子 1272

YOLOV8多模态(可见光+红外光目标检测任务,基于Ultralytics官方代码实现)

torch 2.3.1 torchvision 0.18.1 Python 3.8.19 tensorrt 8.5.3.1DroneVehicle数据集下载地址DroneVehicle 数据集由无人机采集的 56,878 张图像组成,其中一半是 RGB 图像,其余是红外图像。我们为这 5 个类别制作了丰富的注释,其中包含定向边界框。其中,汽车在 RGB 图像中有 389,779 个注释,在

Mjy的博客 7585

为什么RingMo能成为遥感领域的首个生成式自监督基础模型?

RingMo作为遥感领域首个生成式自监督基础模型,通过创新的图像掩码建模技术解决了传统方法在遥感图像处理中的挑战。该模型利用两百万张多元数据集进行预训练,在小目标检测、场景分类等任务上表现卓越,显著提升了性能指标。RingMo的技术突破为遥感图像解译提供了高效解决方案,降低了标注成本并增强了模型泛化能力。

ll5678的博客 691

树状数组裸题模板

题目简述:给一组长度为n的数组,对这数组有q次操作,有两种操作。①将某点加x,②输出l-r的和 题目链接 树状数组的原理很简单,若给定的数组为a[i],构建的树状数组为b[i], 当 i = 2 时 b[2] = a[2] + b[1], 当 i = 3 时 b[3] = a[3], 当 i = 4 时 b[4] = a[4] + b[3] + b[2] 规则就是把 i 换成二进制 ...

weixin_40800935的博客 258

大数据平台符合信创(CDH国产化代替)详细方案(企业内部不外传方案)

信创旨在实现信息技术产业的自主可控,减少对外部技术的依赖,从而提升国家信息安全和经济发展的自主性。在此背景下,中国对信创提出了更高的要求,以期在激烈的市场竞争中占据有利地位。信创不仅关乎技术层面的创新,更涉及到产业链条的整合与优化。它要求从基础硬件、操作系统、数据库、中间件等各个层面实现国产替代,构建完整的信息技术生态体系。尤其是在做国企项目时,就有硬性要求使用符合信创(国产代替)。在信创背景下,符合要求的产品必须具备自主可控、安全可靠以及性能卓越等核心特点。

大模型大数据攻城狮的专栏 3511

BZOJ 2743: [HEOI2012]采花 树状数组裸题

Time Limit: 15 Sec Memory Limit: 128 MB Submit: 2443 Solved: 1262Description萧芸斓是Z国的公主,平时的一大爱好是采花。 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花。花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于公主采花。公主每次采花后会统计采到的花的颜色数,颜色数

Monica 815

uniapp [安卓苹果App端] - 实现支付宝支付功能+拉起支付宝app付款支付后返回跳转到原页面,详解uniApp如何唤起本机支付宝并跳转到支付页面全流程及示例源码(APP端支付宝支付,支持打包

全网最详细的uniapp支付宝支付教程,uniapp支付宝支付流程,uni-app项目在APP端使用支付宝支付功能,uniapp前端实现支付宝支付,uniapp中唤醒支付宝进行支付并返回app,uniApp调起支付宝支付失败报错,uniapp app端调支付宝支付接口,uniapp开发安卓App对接支付宝支付,uniapp苹果ios唤起支付宝支付,uniapp调用支付宝支付uniapp开发app-调用支付宝支付,uniapp开发安卓苹果app如何接入支付宝支付,UniApp中实现支付宝支付功能,支付报错,调

🏆 前端领域优质创作者 1万+

LVGL hal disp(porting display)

LVGL本身是没有对接最终的显示框架的,所以到具体的某个平台上,需要自行porting。

Bigan(安)的博客 2097

【二维树状数组】BZOJ1452 [JSOI2009]Count

题面在这里二维树状数组裸题……不解释了,直接上代码示例程序:

linkfqy 805

ISO21434 组织网络安全管理(二)

为了实现网络安全工程,该组织建立并维护网络安全治理和网络安全文化,包括网络安全意识管理、能力管理和持续改进。这涉及到指定针对本文档的目标进行独立审计的特定于组织的规则和过程。 为了支持网络安全工程,该组织实施了网络安全的管理系统,包括管理工具和应用质量管理系统。

qq_42357877的博客 1322

hdu1166敌兵布阵 树状数组裸题

树状数组

阿正的梦工坊 356

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

树状数组、线段树裸题 HDU1166 敌兵布阵

这题用树状数组和线段树都能做,模板题。 题目链接 推荐一篇讲树状数组讲得比较好的博客:掌握树状数组~彻底入门 推荐一篇讲线段树讲得比较好的博客:线段树从零开始 树状数组:(树状数组查询和修改的复杂度都是O(log n)) (注意:树状数组维护的区间下标要从1开始,不能从0开始,有些题目的输入是有0的,需要处理一下) #include&lt;algorithm&gt; #include...

flyzer的博客 380

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

HDU-1166-敌兵布阵(树状数组)

HDU-1166-敌兵布阵(树状数组) http://acm.hdu.edu.cn/showproblem.php?pid=1166 这题之前用线段树做的,现在用树状数组 先简单说下树状数组吧 如上图所示 c1 = a1 c2 = a1 + a2 c3 = a3 c4 = a1 + a2 + a3 + a4 c5 = a5 c6 = a5 + a6 c7 = a7

菜鸟的程序人生 4814

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【 HDU 1166】 敌兵布阵 树状数组从0到1

如果给你一个数组,让你求某个区间的和,你很自然会想到遍历一遍数组,复杂度是O(n),但是如果有多次询问呢,你也许会想到用前缀数组,通过O(n)的预处理,达到O(1)的查询,但是如果要更新某个元素的值呢,如果用前缀和的思想,每更新一个元素就会更新前缀数组,每次复杂度是O(n),如果有n次更改,复杂度为O(n^2)。有没有更快的呢,这时候树状数组就排上用场了,树状数组可以用来解决动态数组连续和的问题。...

天才小熊猫的博客 3277

HDU 1166 敌兵布阵【树状数组入门题】

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 74051    Accepted Submission(s): 31080 Problem Description C国的死对头A国这段时间正在进行军事演

AC_Dreameng 2347

HDU 1166-敌兵布阵

HDU 1166-敌兵布阵 题意: 给一个数组,有查询、增加、减少三种操作 对于每次询问 输出从i到j所有元素的和 思路:树状数组裸题 特别的 对于减少操作 只需向x位置更新-y即可 #include<iostream> #include<cstdio> #include<queue> #include<string> #include<map> #include<vector> #include<set> #include

zzqwtc的博客 1996

【树状数组】HDU 1166 敌兵布阵

HDU 1166 敌兵布阵 题意:单点修改,区间查询 思路:树状数组模板题 思考:!!比线段树写的简短得多,但是忘了初始化树状数组QAQ…… #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <cmath> #inclu...

L_X_ 183

树状数组板子题之一:hdu 1166 敌兵布阵

树状数组板子题之一:hdu 1166 敌兵布阵 题目链接:hdu 1166 敌兵布阵 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,...

serendipity的博客 386

HDU 1166 | 敌兵布阵 —— 树状数组

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 78213    Accepted Submission(s): 33036 Problem Description C国的死对头A国这段时间正在进行军事演

益达的小作坊 473

HDU 1166 敌兵布阵(线段树&树状数组)

题目:HDU 1166 敌兵布阵 线段树模板题同时也是树状数组模板题 //Must so #include #define mem(a,x) memset(a,x,sizeof(a)) #define sqrt(n) sqrt((double)n) #define pow(a,b) pow((double)a,(int)b) #define inf 1<<29 #define NN 50004 using name

Must so 467

HDU1166 敌兵布阵 简单线段树 或树状数组

HDU1166敌兵布阵 最近线段树做的多了,简单线段树。树状数组就比较容易了。冲冲冲!!! 下面我用树状数组写的。 #include<iostream> #include<stdio.h> #include<cstring> #include<algorithm> #include<string> #include<...

an94460061的博客 240

HDU 1166 敌兵布阵

树状数组的入门基础题目

mullerwch的专栏 777

hdu1166-敌兵布阵(树状数组)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题目原文: 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 135411Accepted Submission...

Lancetop的博客 288
上一篇: poj 2481 Cows (树状数组)
下一篇: poj 2299 Ultra-QuickSort(树状数组+离散化)
Timeclimber
博客等级 码龄9年 25粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值