树状数组(二维)例题 HDU2642——Stars
来源:互联网 发布:linux tomcat 改端口 编辑:程序博客网 时间:2024/05/22 17:22
//输入B后输入坐标,表示对应的点的灯变亮//输入D后输入坐标表示对应的点灯灭//输入Q后输入一个矩形的左下角和右上角 输出矩形内亮着的等的个数//注:灯亮过不能再亮,灯关了不能再关,所以用数组标记//注:树状数组模板中:元素下标均从1开始,题目从0开始所以加1#include<stdio.h>#include<string.h>#include<algorithm>#include<stdlib.h>#include<iostream>#include<math.h>#include<map>#include<queue>using namespace std;#define maxn 1010#define INF 0x3f3f3f3fint vis[maxn][maxn];int c[maxn][maxn];int lowbit(int x){ return x&(-x);}void add(int x,int y,int val){ for(int i=x;i<=maxn;i+=lowbit(i)) { for(int j=y;j<=maxn;j+=lowbit(j)) { c[i][j]+=val; } }}int sum(int x,int y){ int s=0; for(int i=x;i>0;i-=lowbit(i)) { for(int j=y;j>0;j-=lowbit(j)) { s+=c[i][j]; } } return s;}int main(){ int m,x1,x2,y1,y2; char str[5]; scanf("%d",&m); memset(vis,0,sizeof(vis)); memset(c,0,sizeof(c)); while(m--) { scanf("%s",str); if(str[0]=='Q') { scanf("%d%d%d%d",&x1,&x2,&y1,&y2); x1++;x2++;y1++;y2++; if(x1>x2){int tmp=x1;x1=x2;x2=tmp;} if(y1>y2){int tmp=y1;y1=y2;y2=tmp;} int ans=sum(x2,y2)-sum(x2,y1-1)-sum(x1-1,y2)+sum(x1-1,y1-1); printf("%d\n",ans); } else if(str[0]=='B') { scanf("%d%d",&x1,&y1); x1++;y1++; if(vis[x1][y1]==1) continue; vis[x1][y1]=1; add(x1,y1,1); } else if(str[0]=='D') { scanf("%d%d",&x1,&y1); x1++;y1++; if(vis[x1][y1]==0) continue; vis[x1][y1]=0; add(x1,y1,-1); } } return 0;}
0 0
- 树状数组(二维)例题 HDU2642——Stars
- HDU2642 Stars 二维树状数组
- HDU2642 Stars【二维树状数组】
- HDU2642 Stars 二维树状数组
- hdu2642 Stars 二维树状数组
- 二维树状数组hdu2642
- hdu2642之二维树状数组
- HDU2642(容斥定理+二维树状数组)
- hdu 2642 Stars(二维树状数组)
- hdu 2642 Stars(二维树状数组)
- hdu2642 二维树状组
- hduoj Stars 二维树状数组
- poj2352——Stars(树状数组)
- hdu2642二维树状数组单点更新+区间查询
- hdu2642-二维树状数组 单点更新 区间查询
- Stars 【一维树状数组-典型例题】
- HDOJ 题目2642 Stars(二维树状数组)
- HDU-2642-Stars(二维树状数组应用)
- ava集合类详解
- 第14周项目2-用文件保存的学生名单
- Java中如何处理空指针异常
- #9 Palindrome Number
- codeforces #307 D. GukiZ and Binary Operations(各种快速幂+斐波那契)
- 树状数组(二维)例题 HDU2642——Stars
- C#高级编程十七天----Object类
- 第14周项目3-OOP版电子词典
- PLC输出的三种方式
- 接口 Map<K,V>
- 第14周项目4-处理C++源代码的程序
- 会做的,不如会说的
- 日语学习之沪江N3基础 20150621 -5
- Tutorial 6:Translation Transformation