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

原创 2016年05月30日 11:50:39

题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25681#problem/A

代码:

#include<stdio.h>
#include<string.h>
using namespace std;
int a[50005],n;
int lowbit(int t)
{
    return t&(-t);
}
int insert(int t,int d)
{
    while(t<=n)
    {
        a[t]=a[t]+d;
        t=t+lowbit(t);
    }
}
long long getsum(int t)
{
    long long ans=0;
    while(t>0)
    {
        ans=ans+a[t];
        t=t-lowbit(t);
    }
    return ans;
}
int main()
{
    int t,temp=0;
    scanf("%d",&t);
    while(t--)
    {
        memset(a,0,sizeof(a));
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            int k;
            scanf("%d",&k);
            insert(i,k);
        }
        char str[10];
        printf("Case %d:\n",++temp);
        while(scanf("%s",str)&&(strcmp(str,"End")!=0))
        {
            int x,y;
            scanf("%d%d",&x,&y);
            if(strcmp(str,"Query")==0)
            {
                printf("%d\n",getsum(y)-getsum(x-1));
            }
            else if(strcmp(str,"Add")==0)
            {
                insert(x,y);
            }
            else if(strcmp(str,"Sub")==0)
            {
                insert(x,(-1)*y);
            }
        }
    }
}


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

HDU-1166-敌兵布阵(树状数组) http://acm.hdu.edu.cn/showproblem.php?pid=1166 这题之前用线段树做的,现在用树状数组 先简单说下树状数组吧 ...
  • Cambridgeacm
  • Cambridgeacm
  • 2012年07月22日 07:57
  • 3990

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

树状数组简介:     树状数组是一种区间求和查询和元素修改的时间复杂度都在logN的线性的数据结构。它支持sigma(a[1], a[2], ... a[i]) 时间的复杂度为logN的查询,和对a...
  • ACb0y
  • ACb0y
  • 2010年09月09日 15:45
  • 1917

hdu1166 敌兵布阵 线段树 点更新

链接:点击打开链接 Input 第一行一个整数T,表示有T组数据。 每组数据第一行一个正整数N(N 接下来每行有一条命令,命令有4种形式: (1) Add i j,i和j为正整数,表示第i个营地增...
  • migu77777
  • migu77777
  • 2016年08月18日 23:29
  • 477

HDU-1166 敌兵布阵(线段树模板题)

N - 敌兵布阵 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta...
  • haut_ykc
  • haut_ykc
  • 2016年07月21日 21:22
  • 461

敌兵布阵-树状数组

问题来源:hdu-1166 敌兵布阵 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线...
  • u014366015
  • u014366015
  • 2014年04月13日 08:10
  • 672

杭电1166敌兵布阵(线段树)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...
  • z8110
  • z8110
  • 2015年08月20日 20:34
  • 590

敌兵布阵(树状数组模板题)

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su...
  • CTTACM
  • CTTACM
  • 2015年08月12日 17:39
  • 350

hdu 1166 敌兵布阵

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...
  • u014688855
  • u014688855
  • 2014年07月14日 20:27
  • 1168

HDU 敌兵布阵

#include using namespace std; #define maxn 50000+10 int T, N, a[maxn], sum[maxn
  • DoJintian
  • DoJintian
  • 2015年03月18日 11:56
  • 708

Hdu 1166 敌兵布阵 -- 树状数组

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...
  • xuhuanfeng232
  • xuhuanfeng232
  • 2016年01月18日 15:38
  • 228
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU 1166 敌兵布阵(树状数组)
举报原因:
原因补充:

(最多只允许输入30个字)