BZOJ 1062
program candy bzoj1062;
const maxc=;
maxm=;
maxn=;
var n,len,m,i,p,t,l,r,c,d,q:longint;
s:array[..,..maxn,..maxm] of longint;
x,y:array[..maxc] of longint; procedure add(p,x,y,v:longint);
var i:longint;
begin
inc(x); inc(y);
while x<maxn do
begin
i:=y;
while i<maxm do
begin
inc(s[p,x,i],v);
inc(i,i and -i);
end;
inc(x,x and -x);
end;
end; function sum(p,x,y:longint):longint;
var i:longint;
begin
if (x<)or(y<) then exit();
inc(x); inc(y); sum:=;
if x>n then x:=n+;
if y>m then y:=m+;
while x> do
begin
i:=y;
while i> do
begin
inc(sum,s[p,x,i]);
dec(i,i and -i);
end;
dec(x,x and -x);
end;
end; procedure update(t,c,l,r,d:longint); inline;
begin
x[c]:=(t-d*l+n) mod n; y[c]:=r-l;
add(,x[c],y[c]+x[c],);
add(,x[c],y[c]-x[c]+n,);
end; procedure change(c:longint); inline;
begin
add(,x[c],y[c]+x[c],-);
add(,x[c],y[c]-x[c]+n,-);
end; function area(p,x1,y1,x2,y2:longint):longint; inline;
begin
area:=sum(p,x2,y2)+sum(p,x1-,y1-)-sum(p,x1-,y2)-sum(p,x2,y1-);
end; function ask(t,l,r:longint):longint; inline;
var d:longint;
begin
d:=longint(r=len);
ask:=area(,t,l+t,t+r,m)+area(,,l+t-n,t+r-n-d,m)+area(,t-r+n+d,l-t,n,m)+area(,t-r,l-t+n,t-,m);
end; begin
read(q,len); n:=len<<; m:=len<<;
for i:= to q do
begin
read(p);
case p of
:begin read(t,c,l,r,d); update(t,c,l,r,d); end;
:begin read(t,l,r); writeln(ask(t mod n,l,r)); end;
:begin read(t,c); change(c); end;
end;
end;
end.
BZOJ 1062的更多相关文章
- BZOJ 1062 糖果雨
http://www.lydsy.com/JudgeOnline/problem.php?id=1062 思路:找到平行四边形以后,变换坐标:y->y-kx,k为斜率,这样变成了矩形,然后只要二 ...
- 【BZOJ 1062】 1062: [NOI2008]糖果雨 (二维树状数组)**
1062: [NOI2008]糖果雨 Description 有一个美丽的童话:在天空的尽头有一个" 糖果国" ,这里大到摩天大厦,小到小花小草都是用糖果建造而成的.更加神奇的是, ...
- BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
首先嘛,这道题是非同一般的恶心= = 然后首先膜拜一下CDQ大神ORZ在考场上A了这道题ORZ 这道题看到的话,我是先想把云朵化成在0s时的位置,但很容易发现这样只能单点查询而不能查询整段 结果只能膜 ...
- 1062: [NOI2008]糖果雨 - BZOJ
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1062 神题一个,直接讲思路了(全都是看别人的) 首先我们把一个云用一个平面上的点( ...
- BZOJ 2127: happiness [最小割]
2127: happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1815 Solved: 878[Submit][Status][Di ...
- BZOJ 3275: Number
3275: Number Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 874 Solved: 371[Submit][Status][Discus ...
- BZOJ 2879: [Noi2012]美食节
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1834 Solved: 969[Submit][Status] ...
- bzoj 4610 Ceiling Functi
bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...
- BZOJ 题目整理
bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...
随机推荐
- mysql 正确的关闭方式
./bin/mysqladmin -uroot -p123456 -S /home/allen/var/mysql/mysql.sock shutdown
- Android ActionBar详解(一)--->显示和隐藏ActionBar
MainActivity如下: package cc.testsimpleactionbar0; import android.os.Bundle; import android.view.View; ...
- nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案
(1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore = require(connect-mongo')改为var MongoStore = ...
- 一个给力的html5 画多边形的例子
只需改变参数就能画出你想要的多边形,代码简单!不得不惊叹canvas的强大! 代码奉上 <!doctype html> <html> <head> <meta ...
- python自学笔记(一)简单了解python
脚本解释型语言的内部机制 python先将脚本编译成字节码文件(pyc,pyo) python虚拟机解释并运行字节码文件 编译型语言的内部机制 先将源代码编译成机器码(机器能读懂的代码),生成可执行文 ...
- 《Orange'S:一个操作系统的实现》笔记(一)
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ...
- SMT贴片机抛料的成因和回流焊横向温差问题
SMT贴片机抛料的主要原因分析 在SMT生产过程中,怎么控制生产成本,提高生产效率,是企业老板及工程师们很关心的事情,而这些跟SMT贴片机的抛料率有很大的联系,以下就谈谈SMT贴片机的抛料问题. 所谓 ...
- 简单测试运行时类信息(RTTI),附详细例子
新建一个单元文件,填写如下代码,然后保存为 ClassInfoUnit.pas,这里定义了一个结构,用来读取指定类的信息. unit ClassInfoUnit; interface uses Cla ...
- 关于crontab笔记
如下所示,一般crontab文件里面的定时任务格式如下所示: 59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2 ...
- 关于结构体和C++类的内存地址问题
关于结构体和C++类的内存地址问题 今天终于有时间写点东西了~ 太爽了 *_* 很多人都知道C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样 ...