luogu T34117 打油门 题解
Posted misakaazusa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu T34117 打油门 题解相关的知识,希望对你有一定的参考价值。
王强怎么这么强啊
王强太强了
二维树状数组
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int bit[2000][2000], n;
int lowbit(int x)
{
return x&-x;
}
void add(int x, int y, int num)
{
for(int i = x; i <= n; i += lowbit(i))
for(int j = y; j <= n; j += lowbit(j))
bit[i][j] += num;
}
int sum(int x, int y)
{
int res = 0;
for(int i = x; i > 0; i -= lowbit(i))
for(int j = y; j > 0; j -= lowbit(j))
res += bit[i][j];
return res;
}
int query(int a,int b,int c,int d)
{
return sum(c,d)-sum(a-1,d)-sum(c,b-1)+sum(a-1,b-1);
}
int main()
{
scanf("%d",&n);
int a,b,c,d,t;
for(int i=1;;i++)
{
scanf("%d",&t);
if(t==1)
{
scanf("%d%d%d",&a,&b,&c);
add(a+1,b+1,c);
}
if(t==2)
{
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("%d
",query(a+1,b+1,c+1,d+1));
}
if(t==3) return 0;
}
}
以上是关于luogu T34117 打油门 题解的主要内容,如果未能解决你的问题,请参考以下文章