HOJ 1640 Mobile Phone
题意:有一个n*n的矩阵,op==1时,在(x,y)增加值z,op==2时,求以(x1,y1)和(x2,y2)构成的矩阵的和。
思路:二维线段树。
代码:
1 #include<stdio.h> 2 #include<string.h> 3 const int N=1111; 4 int c[N][N],n; 5 int lowbit(int x) 6 { 7 return x&-x; 8 } 9 void add(int x,int y,int z) 10 { 11 for(int i=x;i<=n;i=(i|(i-1))+1) 12 for(int j=y;j<=n;j=(j|(j-1))+1) 13 c[i][j]+=z; 14 } 15 int q(int x,int y) 16 { 17 int sum=0; 18 for(int i=x;i;i=i&(i-1)) 19 for(int j=y;j;j=j&(j-1)) 20 sum+=c[i][j]; 21 return sum; 22 } 23 int main() 24 { 25 int op,x,y,z,x1,x2,y1,y2; 26 while(scanf("%d%d",&op,&n)!=EOF) 27 { 28 memset(c,0,sizeof(c)); 29 while(scanf("%d",&op)&&op!=3) 30 { 31 if(op==1) 32 { 33 scanf("%d%d%d",&x,&y,&z); 34 add(x+1,y+1,z); 35 } 36 else 37 { 38 scanf("%d%d%d%d",&x1,&y1,&x2,&y2); 39 x1++,x2++,y1++,y2++; 40 printf("%d\n",q(x2,y2)+q(x1-1,y1-1)-q(x2,y1-1)-q(x1-1,y2)); 41 } 42 } 43 } 44 return 0; 45 } 46 /* 47 i -= lowbit(i) == i = i&(i-1) 48 i += lowbit(i) == i = (i|(i-1))+1 49 */
参考文章:http://blog.csdn.net/hit_lingo/article/details/50845718
http://www.cnblogs.com/yejinru/archive/2012/03/22/2412359.html
转载于:https://www.cnblogs.com/L-King/p/5445612.html
HOJ 1640 Mobile Phone相关推荐
- hoj 1640 Mobile phones //poj 1195 Mobile phones 二维树状数组
/* (x1,y2) ____________ (x2,y2) | | | | | ...
- 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design
手工方法和NAS的高效网络模型设计总结与分析 这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS). 高效的CNN设计不只是用在服务器,云端,资源 ...
- Paper4:Voxel-Based Extraction and Classification of 3-D Pole-Like Object From Mobile LIDAR Point Clo
Voxel-Based Extraction and Classification of 3-D Pole-Like Object From Mobile LIDAR Point Cloud Data ...
- 微信同步通讯录服务器繁忙,企业微信同步通讯录时提示 mobile existed
本帖最后由 dr琅琊人 于 2020-3-26 10:47 编辑 http://XXXX.com"},"process":"/SA/weixin/process ...
- Windows Mobile 6.0 SDK和中文模拟器下载
[转] Windows Mobile 6.0 SDK和中文模拟器下载 Windows Mobile 6.5 模拟器 2010年12月06日 星期一 07:48 转载自 zhangyanle86 终于编 ...
- Ring Tone Manager on Windows Mobile
2019独角兽企业重金招聘Python工程师标准>>> 手机铃声经常能够体现一个人的个性,有些哥们儿在自习室不把手机设置成震动,一来电就@#$^%^@&^%#$&$* ...
- windows mobile做一个摄象头预览程序
zdirectshow的原理大概大家都知道,基本就是用微软封装的接口来实现硬件无关性,但是最终调用的接口都要在驱动层有对应的实现: 为了更清楚地演示directshow的数据传输过程,我必须说明的这个 ...
- jQuery Mobile的学习时间bottonbutton的事件学习
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/xmt1139057136/article/details/27700521 程序猿都非常懒,你懂的! ...
- jQuery UI vs Kendo UI jQuery Mobile vs Kendo UI Mobile
jQuery UI vs Kendo UI http://jqueryuivskendoui.com/#introduction jQuery Mobile vs Kendo UI Mobile ht ...
最新文章
- 查询出每个部门比本部门平均工资高的职工人数
- Cassandra与RDBMS的设计差别
- springboot 插入返回id_实战SpringBoot缓存开发
- 探秘AI开发「神器」ModelArts,解读IoT 智能设备,华为云教你玩转 AI开发!
- leetcode 775. Global and Local Inversions | 775. 全局倒置与局部倒置(Java)
- 全栈Python 必备库
- CSS串联和后代选择器
- 用c语言编译二叉树,C语言 数据结构平衡二叉树实例详解
- eclipse常见小问题
- Python+OpenGL切分图形窗口在多视区中显示不同动画
- Hibernate映射组件属性为集合(二)
- 【优化预测】基于matlab蝙蝠算法优化LSSVM预测【含Matlab源码 109期】
- 小米盒子显示未连接电脑连接服务器,小米盒子不能连接电脑的原因与解决办法...
- Vmware安装深度Deepin图文
- 6、Latex学习笔记之参考文献篇
- Aspose WorkbookDesigner打开文件异常Error xml namespace
- 前后端不分离,分页器组件(python-dango)
- 看完微信公众号最新的广告分成方案,只想给32个赞
- Java如何进行文件上传与下载
- 【leetcode】644 最大子段和 II(二分查找,数组)
热门文章
- 线程的run()方法带参情况
- c++ 线程什么时候run_阿里后端Java面试题:启动线程是start()还是run()?为什么?...
- python linux编程与window编程_Python3如何在Windows和Linux上打包
- php kafka storm,php的kafka踩坑(二)
- linux ping库函数,Linux 常用基本命令 ping ifconfig
- 数学--数论--HDU 2197 本原串 (推规律)
- 网络流--最大流--HDU 3549 Flow Problem
- MySQL 中 AUTO_INCREMENT 的“坑” --重复值问题
- 【Transformer】Do Vision Transformers See Like Convolutional Neural Networks?
- 乐器演奏_深度强化学习代理演奏的蛇