代码如下:

int c[MAX];
int cc[MAX][MAX];
int lowbit(int x)

       
return x&(-x);
}
int n;
int getsum(int i)
{  
    
int sum=0;
    
while(i>0)
    {   
              sum
+=a[i];
              i
-=lowbit(i);
    }
    
return sum;
}
void modify(int x,int k)
{  
       
while(x<=n)
       { 
             a[x]
+=k;
             x
+=lowbit(x);
       }
}
int getsum(int i,int j)
{   
       int sum;
    
   while(i>0)
       {  

             int
 tmp=j;
             
while(tmp>0)
             {   
                   sum
+=cc[i][tmp];
                   tmp
-=lowbit(tmp);
             }
             i
-=lowbit(i);
       }
       
return sum;
}
void modify2(int i,int j,int k)
{   
      while(i<=n)
      {  
            
int tmp=j;
        
    while(tmp<=n)
            {   
                  cc[i][tmp]
+=k;
                  tmp
+=lowbit(tmp);
            }
            i
+=lowbit(i);
      }
}