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的更多相关文章

  1. BZOJ 1062 糖果雨

    http://www.lydsy.com/JudgeOnline/problem.php?id=1062 思路:找到平行四边形以后,变换坐标:y->y-kx,k为斜率,这样变成了矩形,然后只要二 ...

  2. 【BZOJ 1062】 1062: [NOI2008]糖果雨 (二维树状数组)**

    1062: [NOI2008]糖果雨 Description 有一个美丽的童话:在天空的尽头有一个" 糖果国" ,这里大到摩天大厦,小到小花小草都是用糖果建造而成的.更加神奇的是, ...

  3. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)

    首先嘛,这道题是非同一般的恶心= = 然后首先膜拜一下CDQ大神ORZ在考场上A了这道题ORZ 这道题看到的话,我是先想把云朵化成在0s时的位置,但很容易发现这样只能单点查询而不能查询整段 结果只能膜 ...

  4. 1062: [NOI2008]糖果雨 - BZOJ

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1062 神题一个,直接讲思路了(全都是看别人的) 首先我们把一个云用一个平面上的点( ...

  5. BZOJ 2127: happiness [最小割]

    2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 1815  Solved: 878[Submit][Status][Di ...

  6. BZOJ 3275: Number

    3275: Number Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 874  Solved: 371[Submit][Status][Discus ...

  7. BZOJ 2879: [Noi2012]美食节

    2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1834  Solved: 969[Submit][Status] ...

  8. bzoj 4610 Ceiling Functi

    bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...

  9. BZOJ 题目整理

    bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...

随机推荐

  1. Java基础之静态变量

    public class StaticVariable { public static void main(String[] args) { Person p1 = new Person(); Per ...

  2. Django Web开发【6】使用Ajax增强用户体验

    Ajax及其优点 Ajax实际上就是指异步Javascript与XML,它包含以下技术: HTML与CSS Javascript XMLHttpRequest XML Ajax技术让客户端与服务器实现 ...

  3. ODI学习笔记2--ODI产品架构

    ODI学习笔记2--ODI产品架构 ODI产品架构: ODI提供了以下几种管理工具:Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括data store的定义,in ...

  4. java selenium webdriver实战 seleniumIDE

    Selenium是ThoughtWorks公司,一个名为Jason Huggins的测试为了减少手工测试的工作量,自己实现的一套基于Javascript语言的代码库 使用这套库可以进行页面的交互操作, ...

  5. Android 优化性能之 如何避免--过度绘制

    可能有些人不明白什么是过度绘制,简单言,我们app一个页面所显示的效果是由像素一帧一帧绘制而成.过度绘制就是意味着这一帧被绘制多次.如果是静态的布局,可能影响不是很大,如果是动态的,比如ListVie ...

  6. 利用 Android Studio 和 Gradle 打包多版本APK

    在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_ap ...

  7. 部署nginx+rsyslog补丁

    nginx 配置: user nginx; worker_processes 1; syslog local5 nginx; error_log /var/log/nginx/nginx_error. ...

  8. android错误之==与equals的区别

    在做一个电话号码匹配的时候, 开始我使用的是这种情况 if (num == inCall.getNum()) { //操作... } 但是无论如何结果都是false,就算两个号码打印出来一模一样还是f ...

  9. 线性规划问题的matlab求解

    函数:[x, fval] = linprog(f, A, b, Aeq, Beq, LB, UB) 返回的x:是一个向量——在取得目标函数最小时各个xi的取值: 返回的fval:目标函数的最小值: 参 ...

  10. iOS中Block介绍 基础

    ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发.讨论范围:block的使用,内存管理,内部实现.不包含的内容:gc arc下的block内存,block在c++中 ...