[BZOJ1452]JSOI2009 Count|树状数组
来源:互联网 发布:网络信息安全员证书 编辑:程序博客网 时间:2024/05/02 01:16
数据好小。。直接对每个颜色维护一个二维树状数组,不多说。。
#include<cstdio>#include<iostream>#define N 305#define C 105using namespace std;int n,m,Q,opt,col,x1,y1,x2,y2,i,j,c[C][N][N],a[N][N];int lowbit(int x){return x&-x;}void add(int x,int y,int old,int col){ for (int i=x;i<=n;i+=lowbit(i)) for (int j=y;j<=m;j+=lowbit(j)) c[col][i][j]++,c[old][i][j]--;}int getsum(int x,int y,int col){ int ans=0; for (int i=x;i;i-=lowbit(i)) for (int j=y;j;j-=lowbit(j)) ans+=c[col][i][j]; return ans;}int main(){ freopen("1452.in","r",stdin); scanf("%d%d",&n,&m); for (col=1;col<=100;col++) for (i=1;i<=n;i++) for (j=1;j<=m;j++) c[col][i][j]=0; for (i=1;i<=n;i++) for (j=1;j<=m;j++) { scanf("%d",&a[i][j]); add(i,j,0,a[i][j]); } scanf("%d",&Q); while (Q--) { scanf("%d",&opt); if (opt==1) { scanf("%d%d%d",&x1,&y1,&col); add(x1,y1,a[x1][y1],col); a[x1][y1]=col; } else { scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&col); printf("%d\n",getsum(x2,y2,col)-getsum(x1-1,y1-1,col)-getsum(x1-1,y2,col)-getsum(x2,y1-1,col)); } }}
0 0
- [BZOJ1452]JSOI2009 Count|树状数组
- 【BZOJ1452】【JSOI2009】Count 二维树状数组
- BZOJ1452 [JSOI2009]Count(二维树状数组)
- [BZOJ1452][JSOI2009]Count(二维树状数组)
- BZOJ1452: [JSOI2009]Count 二维树状数组
- [BZOJ1452][JSOI2009]Count(二维树状数组)
- bzoj1452: [JSOI2009]Count(二维树状数组)
- 【二维树状数组】BZOJ1452 [JSOI2009]Count
- bzoj1452[JSOI2009]Count 二维树状数组/树套树
- BZOJ1452 [JSOI2009]Count 【树套树 (树状数组)】
- 【树状数组套树状数组】BZOJ1452(JSOI2009)[Count]题解
- [bzoj1452][树状数组]Count
- BZOJ1452 [JSOI2009]Count Solution
- [BZOJ1452] [JSOI2009]Count
- [BZOJ1452][JSOI2009]Count
- bzoj1452 【JSOI2009】Count
- 【BZOJ1452】【JSOI2009】Count
- bzoj1452: [JSOI2009]Count
- 调用相册和相机
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管
- C语言中如何实现对超大数据的存取与运算
- MMORGP大型游戏设计与开发(客户端架构 part16 of vegine)
- Date型转为String型
- [BZOJ1452]JSOI2009 Count|树状数组
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记20 Multiple MVCs 多MVC模式、NavigationController导航控制器
- 找不到com.google.android.maps.*
- 简述负载均衡&CDN技术
- 【C语言】要求任意输入10个数,然后按从小到大顺序输出
- 解决Eclipse中文乱码
- JavaScript对象判空
- 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
- SIM900A英文短信的读取与发送