[vijos P1512] SuperBrother打鼹鼠
这周好好码树状数组和线段树!!之前没写过二维树状数组,凭借一维的思路居然写了个比较像模像样的东西出来,原来我没那么脑残。唯一要注意的就是getsum四个矩形加减的边界条件,这里看了别人标程才意识到错误QAQ!
program vijos_p1512;
var f,t:array[..,..] of longint;
n,m,i,j,x,y,k,x1,x2,y1,y2:integer;
ans:longint;
function lowbit(x:longint):longint;
begin
lowbit:=x and (-x);
end; procedure add(x,y,delta:longint);
var ty:longint;
begin
ty:=y;
while (x<=n) do
begin
while (y<=n) do
begin
inc(f[x,y],delta);
y:=y+lowbit(y);
end;
x:=x+lowbit(x);
y:=ty;
end;
end; function getsum(x,y:longint):longint;
var ty,p:longint;
begin
ty:=y;p:=;
while (x>) do
begin
while (y>) do
begin
inc(p,f[x,y]);
y:=y-lowbit(y);
end;
x:=x-lowbit(x);
y:=ty;
end;
getsum:=p;
end; begin
readln(n);
read(m);
while m<> do
begin
if m= then
begin
readln(x,y,k);
add(x+,y+,k);
end;
if m= then
begin
readln(x1,y1,x2,y2);
ans:=getsum(x2+,y2+)-getsum(x1,y2+)-getsum(x2+,y1)+getsum(x1,y1);
writeln(ans);
end;
read(m);
end;
end.
SuperBrother打鼹鼠
测试数据 #0: Accepted, time = 0 ms, mem = 4780 KiB, score = 10
测试数据 #1: Accepted, time = 46 ms, mem = 4776 KiB, score = 10
测试数据 #2: Accepted, time = 7 ms, mem = 4776 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 4780 KiB, score = 10
测试数据 #4: Accepted, time = 46 ms, mem = 4776 KiB, score = 10
测试数据 #5: Accepted, time = 15 ms, mem = 4776 KiB, score = 10
测试数据 #6: Accepted, time = 15 ms, mem = 4780 KiB, score = 10
测试数据 #7: Accepted, time = 15 ms, mem = 4772 KiB, score = 10
测试数据 #8: Accepted, time = 31 ms, mem = 4780 KiB, score = 10
测试数据 #9: Accepted, time = 31 ms, mem = 4776 KiB, score = 10
(神马居然没秒杀?难道还有更快做法?!)
[vijos P1512] SuperBrother打鼹鼠的更多相关文章
- 【VIJOS】P1512 SuperBrother打鼹鼠
[算法]二维树状数组 [题解] 1.树状数组尽量不要出现0,因此所有坐标+1 2.面积求法(默认1开始):(x1,y1)(x2,y2)=sum(x2,y2)-sum(x1-1,y2)-sum(x2,y ...
- vijos 1512 SuperBrother打鼹鼠
背景 SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”...... 描述 在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来, ...
- Vijos1512 SuperBrother打鼹鼠
SuperBrother打鼹鼠 Vijos链接 题目描述: 在一个矩阵中,有三种操作: 1.后面跟着3个数x,y,k,表示在点(x,y)处新出现了k只鼹鼠. 2.后面跟着4个数x1,y1,x2,y2, ...
- [Vijos] SuperBrother打鼹鼠
背景 SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”...... 描述 在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来, ...
- 二维树状数组——SuperBrother打鼹鼠(Vijos1512)
树状数组(BIT)是一个查询和修改复杂度都为log(n)的数据结构,主要用于查询任意两位之间的所有元素之和,其编程简单,很容易被实现.而且可以很容易地扩展到二维.让我们来看一道很裸的二维树状数组题: ...
- 树状数组训练题2:SuperBrother打鼹鼠(vijos1512)
先给题目链接:打鼹鼠 这道题怎么写? 很明显是树状数组. 而且,很明显是二维树状数组. 如果你没学过二维的树状数组,那么戳开这里:二维树状数组 看完以后,你就会知道怎么做了. 没有什么好解释的,几乎就 ...
- [Vijos1512] SuperBrother打鼹鼠 (二维树状数组)
传送门 直接搞就行. 注意下表re从零开始,而树状数组搞不了0,所以统一增加一个偏移量1. (话说数据随机是什么鬼?) # include <iostream> # include < ...
- vijos 1512
SuperBrother打鼹鼠 背景 SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊......),于是便无聊地开始玩“打鼹鼠”...... 描述 在这个“打鼹鼠”的游 ...
- VIJOS 1512SuperBrother打鼹鼠(二维BIT)
呵呵.. 二维树状数组,第二维和第一维基本一样. --------------------------------------------------------------------------- ...
随机推荐
- Android软键盘弹出时把布局顶上去的解决方法
原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在main ...
- maven编译项目时提示:cached in the local repository
今天使用命令mvn compile编译maven项目时提示错误信息,部分错误信息如下: ...... was cached in the local repository, resolution wi ...
- 将一堆石子分成多堆——Multi-SG 游戏
这类博弈只需要记住一点,一个由多个游戏组成的游戏sg值为这多个游戏的sg值异或和. 也就是所有对一整个nim游戏它的sg值即为每一小堆的sg的异或和. hdu 5795 这题就是可以选择把一堆石子分成 ...
- OpenGL的几何变换[转]
OpenGL的几何变换 1.实验目的: 理解掌握一个OpenGL程序平移.旋转.缩放变换的方法. 2.实验内容: (1)阅读实验原理,运行示范实验代码,掌握OpenGL程序平移.旋转.缩放变换的方法: ...
- 部署git服务器 gitServer 软件
部署git服务器 gitServer 软件 搭建git服务器也并不是非常的难,有这么多优秀的软件,选择一个适合自己就行了 1. windows版本 http://gitstack.com/ 免费版本, ...
- unity3d WorldComposer1 卫星地图生成地形
http://blog.csdn.net/myarrow/article/details/42709113 1. 简介 1.1 TerrainComposer(TC) 一个Unity扩展工具,可用于创 ...
- [Hadoop 周边] Hadoop技术生态圈
Hadoop版本演进 当前Hadoop有两大版本:Hadoop 1.0和Hadoop 2.0. Hadoop1.0被称为第一代Hadoop,由分布式文件系统HDFS和分布式计算框架MapReduce组 ...
- arcgis API for javascript 学习笔记
ArcGis Server地图是缓存的,意味着它有服务器管理员简历提示性能的一组预先渲染的切片.由于这个原因地图通过ArcGISTiledMapServiceLayer表示 如果地图服务没有一个可用的 ...
- Permutations [LeetCode]
Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...
- OC 实例方法和类方法区别
Objective-C里面既有实例方法也类方法.类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method).工 ...