tjut 1166

来源:互联网 发布:谷歌人工智能框架 编辑:程序博客网 时间:2024/06/07 22:32
#include<cstdio>  #include<cstring>  using namespace std;  const int num=50005;  int n,bit[num];  int lowbit(int a)  {      return a&(-a);  }  void init()  {      int i;      for(i=1;i<=n;i++)          bit[i]=0;  }  void updata(int x,int add)  {      while(x<=n)      {          bit[x]+=add;          x+=lowbit(x);      }  }  int sum(int a)  {      int ans=0;      while(a>0)      {          ans+=bit[a];          a-=lowbit(a);      }      return ans;  }  int main()  {      int t,i,k,a,b;      char s[10];      //freopen("in.txt","r",stdin);      scanf("%d",&t);      for(k=1;k<=t;k++)      {          scanf("%d",&n);          init();          for(i=1;i<=n;i++)          {              scanf("%d",&a);              updata(i,a);          }          printf("Case %d:\n",k);          while(scanf("%s",s))          {              if(strcmp(s,"End")==0)                  break;              else if(strcmp(s,"Add")==0)              {                  scanf("%d%d",&a,&b);                  updata(a,b);              }              else if(strcmp(s,"Sub")==0)              {                  scanf("%d%d",&a,&b);                  updata(a,-b);              }              else if(strcmp(s,"Query")==0)              {                  scanf("%d%d",&a,&b);                  printf("%d\n",sum(b)-sum(a-1));              }          }      }      return 0;  } 

0 0
原创粉丝点击