#define lowbit(x) (x&-x) // 设 x 的末尾零的个数为 y , 则 lowbit(x) == 2^y
void Update(int i,int v) // 初始化与单点修改
{
while(i <= n)
{
c[i] += v ;
i += lowbit(i) ;
}
}
inline int Sum(int i) // 区间求和
{
int res = 0 ;
while(i > 0)
{
res += c[i] ;
i -= lowbit(i) ;
}
return res ;
}
for(int i=1;i<=n;i++)
{
a[i] = read() ;
Update(i,a[i]-a[i-1]);
}
/* int x=0,y=0; // 注释掉的内容是空间上的优化(初学者建议先跳过)
for(int i=1;i<=n;i++)
{
if(i%2)
{
x = read() ;
Update(i,x-y);
}
else
{
y = read() ;
Update(i,y-x) ;
}
} */
int ii ;
int k,x,y;
for(int i=1;i<=m;i++)
{
ii = read() ;
if(ii == 1)
{
x = read() ; y = read() ; k = read() ;
Update(x,k);
Update(y+1,-k);
}
if(ii == 2)
{
x = read() ;
printf("%d\n",Sum(x));
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有