Bzoj1452 Count
http://www.lydsy.com/JudgeOnline/problem.php?id=1452
题目全是图片,不复制了。
开100个二维树状数组,分别记录区间内各个颜色的出现位置……
简单粗暴。
注意查询操作的读入顺序是x1 x2 y1 y2
/*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int mxn=;
int t[][mxn][mxn];
int c[mxn][mxn];
int n,m;
inline int lowbit(int x){return x&-x;}
void add(int x,int y,int c,int v){
while(x<=n){
int tmp=y;
while(tmp<=m){t[c][x][tmp]+=v;tmp+=lowbit(tmp);}
x+=lowbit(x);
}
}
int smm(int x,int y,int c){
int res=;
while(x){
int tmp=y;
while(tmp){res+=t[c][x][tmp];tmp-=lowbit(tmp);}
x-=lowbit(x);
}
return res;
}
int ask(int x1,int y1,int x2,int y2,int c){
return smm(x2,y2,c)+smm(x1-,y1-,c)-smm(x2,y1-,c)-smm(x1-,y2,c);
}
int main(){
int i,j;int x;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
for(j=;j<=m;j++){
scanf("%d",&x);
c[i][j]=x;
add(i,j,x,);
}
int Q;
scanf("%d",&Q);
int x1,y1,x2,y2;
while(Q--){
scanf("%d",&i);
if(i==){
scanf("%d%d%d",&x1,&y1,&x);
add(x1,y1,c[x1][y1],-);
c[x1][y1]=x;
add(x1,y1,c[x1][y1],);
}
else{
scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&x);
printf("%d\n",ask(x1,y1,x2,y2,x));
}
}
return ;
}
Bzoj1452 Count的更多相关文章
- BZOJ1452 count (树状数组)
一道比较水的二维树状数组,开100个即可,只有100种颜色还是比较EZ的. Program BZOJ1452; ; maxc=; ..maxn,..maxn,..maxc] of longint; f ...
- nodejs api 中文文档
文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格 ...
- 【BZOJ1452】[JSOI2009]Count(树状数组)
[BZOJ1452][JSOI2009]Count(树状数组) 题面 BZOJ 洛谷 题解 数据范围这么小?不是对于每个颜色开一个什么东西记一下就好了吗. 然而我不会二维树状数组? 不存在的,凭借多年 ...
- [bzoj1452][JSOI2009]Count(树状数组)
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2057 Solved: 1216[Submit][Stat ...
- 【BZOJ-1452】Count 树状数组 套 树状数组
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1769 Solved: 1059[Submit][Stat ...
- BZOJ1452 [JSOI2009]Count 【树套树 (树状数组)】
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MB Submit: 2693 Solved: 1574 [Submit][St ...
- BZOJ1452 [JSOI2009]Count [2017年4月计划 树状数组02]
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2419 Solved: 1403[Submit][Stat ...
- BZOJ1452——[JSOI2009]Count
1.题目大意: 就是给一个n×m的方格,然后一些平面上的 求和 修改操作 2.分析:二维树状数组裸题 #include <cstdio> #include <cstdlib> ...
- BZOJ1452 [JSOI2009]Count
Description Input Output Sample Input Sample Output 1 2 HINT 正解:二维树状数组 解题报告: 这是一道送肉题.二维树状数组直接维护每种颜色的 ...
随机推荐
- SDWebImage解析
SDWebImage托管在github上.https://github.com/rs/SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下 ...
- console.log与console.dir的区别
今天学习promise的时候看到了console.dir这个方法,感到很好奇,查了以下感觉又长知识了 在Chrome中,控制台对象定义了两个似乎做同样事情的方法: console.log() cons ...
- module.exports exports 和export export default
首先可以知道的是这是两组不同模块规范. module.exports 是CommonJS模块规范,通过require 导入 a.js: var x = 'hello' module.exports.x ...
- #ifdef #else #endif #fi #ifndef 的用法
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短. ...
- [BZOJ] 1520: [POI2006]Szk-Schools
费用流解决. abs内传不了int..CE一次 #include<iostream> #include<cstring> #include<cstdio> #inc ...
- mysql 编程
一.存储函数 相当于php或者js中有返回值的函数 --完成一定“计算”后返回单个的数据值 定义: create function 函数名(parameter p1 value_type, param ...
- Python json和simplejson的使用
在Python中,json数据和字符串的转换可以使用json模块或simplejson模块. json从Python2.6开始内置到了Python标准库中,我们不需要安装即可直接使用. simplej ...
- Docker工具
虚拟化 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源, 如服务器.网络.内存及存储等,予以抽象.转换后呈现出来, 打破实体结构间的 ...
- supervisor 安装使用
简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/exec的方式把这些被管 ...
- python3爬取豆瓣top250电影
需求:爬取豆瓣电影top250的排名.电影名称.评分.评论人数和一句话影评 环境:python3.6.5 准备工作: 豆瓣电影top250(第1页)网址:https://movie.douban.co ...