题目传送门

二维树状数组,对于每个颜色开一个树状数组,用容斥求解。

code:

#include <cstdio>
using namespace std; int read()
{
char c;while(c=getchar(),c<''||c>'');
int x=c-'';while(c=getchar(),c>=''&&c<='')x=x*+c-'';
return x;
} int N,M,tr[][][],a[][]; void add(int x,int y,int c,int p)
{
for(int i=x;i<=N;i+=i&-i)
for(int j=y;j<=M;j+=j&-j)
tr[c][i][j]+=p;
return ;
} int get(int x,int y,int c)
{
int ans=;
for(int i=x;i;i-=i&-i)
for(int j=y;j;j-=j&-j)
ans+=tr[c][i][j];
return ans;
} int main()
{
N=read(),M=read();
for(int i=;i<=N;i++)
for(int j=;j<=M;j++)
add(i,j,a[i][j]=read(),);
int Q=read();
while(Q--){
int o=read();
if(o==){
int x=read(),y=read(),c=read();
add(x,y,a[x][y],-);
add(x,y,a[x][y]=c,);
}
else{
int x=read(),fx=read(),y=read(),fy=read(),c=read();
printf("%d\n",get(fx,fy,c)-get(x-,fy,c)-get(fx,y-,c)+get(x-,y-,c));
}
}
}

BZOJ1452_Count_KEY的更多相关文章

随机推荐

  1. python功能代码块记录

    python Autopep8——按PEP8风格自动排版Python代码(参考链接) autopep8 --in-place --aggressive --aggressive test_autope ...

  2. 两种MVC框架比较

    基于Web的MVC framework在J2EE的世界内已是空前繁荣. TTS网站上几乎每隔一两个星期就会有新的MVC框架发布.目前比较好的MVC,老牌的有Struts.Webwork.新兴的MVC框 ...

  3. jemter 使用if控制器,选择需要的内容

    背景:需要根据人员传入的变量,来选择运行的环境,调用不同的参数,进行拼接,使用到if控制器 取到的数据,调用的就是test1的数据

  4. HDU 6206 Apple (高精确度+JAVA BigDecimal)

    Problem Description Apple is Taotao's favourite fruit. In his backyard, there are three apple trees ...

  5. 蓝牙BLE数据包格式汇总

    以蓝牙4.0为例说明: BLE包格式有:广播包.扫描包.初始化连接包.链路层控制包(LL层数据包).逻辑链路控制和自适应协议数据包(即L2CAP数据包)等: 其中广播包又分为:定向广播包和非定向广播包 ...

  6. oracle数据库恢复归档脚本

    cat restorearch1.sh rman target / << EOFRUN {SET ARCHIVELOG DESTINATION TO '/archlog1/db2_arch ...

  7. 21、整合Druid数据源

    1).引入外部的数据源(Druid) <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependenc ...

  8. .ne 基础(2)

    类是一种抽象 抽象的概念,具体的实例. 现实是先有对象,再抽象成类,再用类来创建实例 构造方法 (1)如果写好了类,不写构造方法,系统会默认一个无参的构造方法 (2) 如果手动添加了一个 构造方法,就 ...

  9. es6之类与对象

    一.类的定义 class Parent{ constructor(name="mukewang"){ this.name=name; } } let v_parant=new Pa ...

  10. [转]GeoServer地图开发解决方案(一):环境搭建篇

    GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操作,通过 GeoS ...