博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1452 二维树状数组
阅读量:6156 次
发布时间:2019-06-21

本文共 1372 字,大约阅读时间需要 4 分钟。

1 program hehe; 2 var 3  n,m,i,j,q,x1,y1,x2,y2,co:longint; 4  y:array[0..300,0..300] of longint; 5  x:array[0..100,0..300,0..300] of longint; 6  7   procedure add(k,a,b,t:longint); 8   var 9    c:longint;10   begin11    while a<=n do12    begin13     c:=b;14     while c<=m do15     begin16      x[k,a,c]:=x[k,a,c]+t;17      c:=c+(c and(-c));18     end;19     a:=a+(a and(-a));20    end;21   end;22 23   function find(k,a,b:longint):longint;24   var25    s,c:longint;26   begin27    s:=0;28    while a>0 do29    begin30     c:=b;31     while c>0 do32     begin33      s:=s+x[k,a,c];34      c:=c-(c and(-c));35     end;36     a:=a-(a and(-a));37    end;38    exit(s);39   end;40 41 begin42  readln(n,m);43  for i:=1 to n do44  for j:=1 to m do45  begin46   read(y[i,j]);47   add(y[i,j],i,j,1);48  end;49  readln(q);50  for i:=1 to q do51  begin52   read(j);53   if j=1 then54   begin55    readln(x1,y1,co);56    add(y[x1,y1],x1,y1,-1);57    y[x1,y1]:=co;58    add(co,x1,y1,1);59   end60   else61   begin62    readln(x1,x2,y1,y2,co);63    writeln(find(co,x2,y2)-find(co,x1-1,y2)-find(co,x2,y1-1)+find(co,x1-1,y1-1));64   end;65  end;66 end.
View Code

1452: [JSOI2009]Count

Time Limit: 10 Sec  Memory Limit: 64 MB
Submit: 1414  Solved: 831
[][][]

Description

Input

Output

Sample Input

Sample Output

1
2

HINT

Source

[ ][ ][ ]

转载于:https://www.cnblogs.com/chensiang/p/4581905.html

你可能感兴趣的文章
Nginx 合集
查看>>
使用PHPCS+GIT钩子保障团队开发中代码风格一致性实践
查看>>
LVS+KEEPALIVED+nginx 7
查看>>
简书风云榜
查看>>
JQuery课堂学习笔记
查看>>
Node.js 文件系统
查看>>
HTML中的表单
查看>>
携程基于Flink的实时特征平台
查看>>
基于 LiteSpeed 的一站式 PHP 网站解决方案 LLStack V1.0-1 发布
查看>>
Spring框架中的Quartz定时任务使用笔记(通过@Scheduled注解的方式实现)
查看>>
Java高并发秒杀Api-业务分析与DAO层构建1
查看>>
java中Date,SimpleDateFormat
查看>>
《这就是搜索引擎》爬虫部分摘抄总结
查看>>
Flex 布局 - 容器
查看>>
文本比较算法Ⅴ——回顾贴,对前面几篇文章的回顾与质疑
查看>>
13个开发者技能必知必会!
查看>>
【SQLite】简单的基本使用步骤
查看>>
String字符串中获取所有匹配结果的索引值
查看>>
清楚利弊,用好内联
查看>>
读书笔记之《程序员必读的职业规划书》
查看>>