【bzoj1176】[Balkan2007]Mokia

2015年1月2日3,5664

Description

维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000.

Input

第一行两个整数,S,W;其中S为矩阵初始值;W为矩阵大小

接下来每行为一下三种输入之一(不包含引号):

“1 x y a”

“2 x1 y1 x2 y2”

“3”

输入1:你需要把(x,y)(第x行第y列)的格子权值增加a

输入2:你需要求出以左上角为(x1,y1),右下角为(x2,y2)的矩阵内所有格子的权值和,并输出

输入3:表示输入结束

Output

对于每个输入2,输出一行,即输入2的答案

Sample Input

0 4
1 2 3 3
2 1 1 3 3
1 2 2 2
2 2 2 3 4
3

Sample Output

3
5

HINT

保证答案不会超过int范围

题解

补了下CDQ分治TAT
按照时间对操作分治。。。
具体还是找度娘吧。。。毕竟入门题题解到处是

 

 

  • 蒟蒻zld2015年2月25日 上午9:54 回复

    Orz 您的s好像没用

    #1  
    • aptto2015年2月25日 上午9:58 回复

      代码里有至少有20个s

      #11
      • hzwer2015年2月25日 上午10:33 回复
        admin

        额。。。这题据说s是数据编号。。确实没用

        #12
        • %%hzw2016年3月27日 下午9:24 回复

          s不是初始值么…

          #13