1452: [JSOI2009]Count - BZOJ
Description

Input

Output

Sample Input

Sample Output
1
2
HINT

一开始还想什么离线做,其实不用,空间足够,我们直接开100个二维树状数组,然后就行了
但是如果c范围很大就离线做好一些
type
tree=array[..,..]of longint;
var
s:array[..]of tree;
a:array[..,..]of longint;
n,m,q:longint; procedure add(var c:tree;x,y,w:longint);
var
i:longint;
begin
while x<=n do
begin
i:=y;
while i<=m do
begin
inc(c[x,i],w);
i:=i+(i and (-i));
end;
x:=x+(x and (-x));
end;
end; function sum(var c:tree;x,y:longint):longint;
var
i:longint;
begin
sum:=;
while x> do
begin
i:=y;
while i> do
begin
inc(sum,c[x,i]);
i:=i-(i and (-i));
end;
x:=x-(x and (-x));
end;
end; procedure main;
var
i,j,x1,y1,x2,y2,c:longint;
begin
read(n,m);
for i:= to n do
for j:= to m do
begin
read(a[i,j]);
add(s[a[i,j]],i,j,);
end;
read(q);
for i:= to q do
begin
read(j);
if j= then
begin
read(x1,y1,c);
add(s[a[x1,y1]],x1,y1,-);
a[x1,y1]:=c;
add(s[c],x1,y1,);
end
else
begin
read(x1,x2,y1,y2,c);
writeln(sum(s[c],x2,y2)+sum(s[c],x1-,y1-)-sum(s[c],x1-,y2)-sum(s[c],x2,y1-));
end;
end;
end; begin
main;
end.
1452: [JSOI2009]Count - BZOJ的更多相关文章
- BZOJ 1452: [JSOI2009]Count 二维树状数组
1452: [JSOI2009]Count Description Input Output Sample Input Sample Output 1 2 HINT Source 题解:设定C[101 ...
- BZOJ 1452: [JSOI2009]Count(二维BIT)
为每一个权值开一个二维树状数组. ------------------------------------------------------------------------- #include& ...
- 二维树状数组 BZOJ 1452 [JSOI2009]Count
题目链接 裸二维树状数组 #include <bits/stdc++.h> const int N = 305; struct BIT_2D { int c[105][N][N], n, ...
- 【BZOJ】1452: [JSOI2009]Count
http://www.lydsy.com/JudgeOnline/problem.php?id=1452 题意:n×m的矩阵上每个点有个颜色,现在有q个操作:1 x y c 将点(x,y)的颜色改为c ...
- bzoj 1452: [JSOI2009]Count (二维树状数组)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1452 思路: 对每个颜色开一个二维树状数组维护就好了 实现代码: #include<b ...
- BZOJ 1452 [JSOI2009] Count
这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(x+=lowbit( ...
- bzoj 1452: [JSOI2009]Count ——二维树状数组
escription Input Output Sample Input Sample Output 1 2 HINT ———————————————————————————————————————— ...
- 1452: [JSOI2009]Count
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 3135 Solved: 1828[Submit][Status][Discuss] Descripti ...
- Day6 - C - Count HYSBZ - 1452 /1452: [JSOI2009]Count
Description 一个N*M的方格,初始时每个格子有一个整数权值,接下来每次有2个操作: 改变一个格子的权值 求一个子矩阵中某个特定权值出现的个数 Input 每一行有两个数字N,M 接下来 ...
随机推荐
- 更改Activity亮度
有些需求需进入到页面后更改Activity的亮度,退出页面后恢复到之前的亮度.通过更改WindowManager.LayoutParams的screenBrightness可以达到这个效果.scree ...
- CSS之页面添加标签
就是因为昨天弄这个“神奇的小标签”差点把自己的园子给废了(情节真的有这么严重),说多了都是泪啊~~(┳_┳).本来是想在页首添加这个“神奇的小标签”的,不知是插件有BUG还是代码错误当场就导致不能编辑 ...
- ubuntu 删除除了某个文件或文件夹之外的所有文件或者目录
今天需要将网站根目录下的所有文件全部删除但是还需要保留phpmyadmin这个文件夹,本来是可以一个一个删除的,后来想应该会有 一个命令是可以用一个命令删除除了phpmyadmin之外的所有文件和文件 ...
- 修改 timezone
1.通过命令修改 1.Set Time, Date Timezone in Linux from Command Line or Gnome | Use ntp 2.Use TZ database 3 ...
- UIScrollView,UIPageControl
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIScrollViewDelegate&g ...
- 【转】AOP知识点
ref:http://www.diybloghome.com/prology/975.html 一.概念理解 老规矩,还是先看官方解释:AOP(Aspect-Oriented Programming, ...
- sql server 中 bigint 和 datetime 性能比较
-- 创建表 create table Test_tbl ( ID varchar(40) primary key nonclustered, IntCol int, DateCol datetime ...
- jQuery实现公告文字左右滚动
jQuery实现公告文字左右滚动的代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- ajax 设置Access-Control-Allow-Origin实现跨域访问
ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全. 即使使用jquery的jsonp方法,t ...
- 动画气泡指示当前滑动值--第三方开源--DiscreteSeekbar
DiscreteSeekbar在github上的项目主页是:https://github.com/AnderWeb/discreteSeekBar DiscreteSeekbar可以自定制的属性很多, ...