1. program candy bzoj1062;
  2. const maxc=;
  3. maxm=;
  4. maxn=;
  5. var n,len,m,i,p,t,l,r,c,d,q:longint;
  6. s:array[..,..maxn,..maxm] of longint;
  7. x,y:array[..maxc] of longint;
  8.  
  9. procedure add(p,x,y,v:longint);
  10. var i:longint;
  11. begin
  12. inc(x); inc(y);
  13. while x<maxn do
  14. begin
  15. i:=y;
  16. while i<maxm do
  17. begin
  18. inc(s[p,x,i],v);
  19. inc(i,i and -i);
  20. end;
  21. inc(x,x and -x);
  22. end;
  23. end;
  24.  
  25. function sum(p,x,y:longint):longint;
  26. var i:longint;
  27. begin
  28. if (x<)or(y<) then exit();
  29. inc(x); inc(y); sum:=;
  30. if x>n then x:=n+;
  31. if y>m then y:=m+;
  32. while x> do
  33. begin
  34. i:=y;
  35. while i> do
  36. begin
  37. inc(sum,s[p,x,i]);
  38. dec(i,i and -i);
  39. end;
  40. dec(x,x and -x);
  41. end;
  42. end;
  43.  
  44. procedure update(t,c,l,r,d:longint); inline;
  45. begin
  46. x[c]:=(t-d*l+n) mod n; y[c]:=r-l;
  47. add(,x[c],y[c]+x[c],);
  48. add(,x[c],y[c]-x[c]+n,);
  49. end;
  50.  
  51. procedure change(c:longint); inline;
  52. begin
  53. add(,x[c],y[c]+x[c],-);
  54. add(,x[c],y[c]-x[c]+n,-);
  55. end;
  56.  
  57. function area(p,x1,y1,x2,y2:longint):longint; inline;
  58. begin
  59. area:=sum(p,x2,y2)+sum(p,x1-,y1-)-sum(p,x1-,y2)-sum(p,x2,y1-);
  60. end;
  61.  
  62. function ask(t,l,r:longint):longint; inline;
  63. var d:longint;
  64. begin
  65. d:=longint(r=len);
  66. 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);
  67. end;
  68.  
  69. begin
  70. read(q,len); n:=len<<; m:=len<<;
  71. for i:= to q do
  72. begin
  73. read(p);
  74. case p of
  75. :begin read(t,c,l,r,d); update(t,c,l,r,d); end;
  76. :begin read(t,l,r); writeln(ask(t mod n,l,r)); end;
  77. :begin read(t,c); change(c); end;
  78. end;
  79. end;
  80. 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. linux 分割文件

    import os import sysimport subprocess if len(sys.argv)<3 : print 'usage: filenum filename' file_n ...

  2. C/C++中volatile关键字详解 (转)

    1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier.这是 BS 在 "The ...

  3. BZOJ 1969: [Ahoi2005]LANE 航线规划( 树链剖分 )

    首先我们要时光倒流, 倒着做, 变成加边操作维护关键边. 先随意搞出一颗树, 树上每条边都是关键边(因为是树, 去掉就不连通了)....然后加边(u, v)时, 路径(u, v)上的所有边都变成非关键 ...

  4. USACO Section 5.1 Musical Themes(枚举)

    直接枚举O(n^3)会TLE,只要稍微加点优化,在不可能得到更优解时及时退出.其实就是道水题,虽说我提交了6次才过= =..我还太弱了 -------------------------------- ...

  5. HBase API详解

    一.Java API和HBase数据模型的关系 在Java中,与HBase数据库存储管理相关的类包括HBaseAdmin.HBaseConfiguration.HTable.HTableDescrip ...

  6. Scala基础类型与操作

    Scala基本类型及操作.程序控制结构 Scala基本类型及操作.程序控制结构 (一)Scala语言优势 自身语言特点: 纯面向对象编程的语言 函数式编程语言 函数式编程语言语言应该支持以下特性: 高 ...

  7. 非原生APP开发中可以用到的JQ插件

    fancybox 弹出层 图片什么的都可以 效果还不错..

  8. 【转】CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”

    源自:http://www.cnblogs.com/yangbingqi/p/3328610.html 刚安装完CentOS,使用yum命令安装一些常用的软件,使用如下命令:yum grouplist ...

  9. PCB外形加工培训教材

    一.目录1.外形加工制程介绍2.外形加工机器介绍3.各制程流程介绍3.1锣板制程3.2V-Cut3.3啤板3.4斜边3.5洗板4.环保5.工业安全 1.0 外形加工制程介绍 外形加工包括: 1.1锣板 ...

  10. Cocos2d-x lua游戏开发之安装Lua到mac系统

    注意:mac ox .lua version :5.15 下载lua官网的lua, 注意:最好是5.15下面.5.2的lua不支持table的getn()方法,这让我情何以堪.(获取table长度.相 ...