HDU 1892 See you~(二维树状数组 单点更新)

C8T6和ZET6选型更换过程中出现.\Obj\Project.sct(7): error: L6235E: More than one section matches selector - cann 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、问题原因二、解决方法三、现象总结 前言 又一件离谱的事情发生了,我之前转换过程中没有发生的错误,今天拿出来程序重新编译了一下,结果他奶奶滴一个新的错误出现了,而且我还完全不知道是什么原因导致的,先上图: 一、问题原因 之前我已经尝试过更换芯片选型,但是没有出现此类问题,今天更改的时候发现了,我还以为是个偶然错误,结果换来换去,还是有这个问题,那我之前说c8t6的程序更改成zet6上跑只需改芯片选型和宏定义岂不是啪啪打. 阅读详情

See you~

Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 5646    Accepted Submission(s): 1795


Problem Description
Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algorithm and Programming, and I met so many good friends. I want to say sorry to Mr, Yin, I must leave now ~~>.<~~. I am very sorry, we could not advanced to the World Finals last year. 
When coming into our training room, a lot of books are in my eyes. And every time the books are moving from one place to another one. Now give you the position of the books at the early of the day. And the moving information of the books the day, your work is to tell me how many books are stayed in some rectangles. 
To make the problem easier, we divide the room into different grids and a book can only stayed in one grid. The length and the width of the room are less than 1000. I can move one book from one position to another position, take away one book from a position or bring in one book and put it on one position. 
 

Input
In the first line of the input file there is an Integer T(1<=T<=10), which means the number of test cases in the input file. Then N test cases are followed. 
For each test case, in the first line there is an Integer Q(1<Q<=100,000), means the queries of the case. Then followed by Q queries. 
There are 4 kind of queries, sum, add, delete and move. 
For example: 
S x1 y1 x2 y2 means you should tell me the total books of the rectangle used (x1,y1)-(x2,y2) as the diagonal, including the two points. 
A x1 y1 n1 means I put n1 books on the position (x1,y1) 
D x1 y1 n1 means I move away n1 books on the position (x1,y1), if less than n1 books at that position, move away all of them. 
M x1 y1 x2 y2 n1 means you move n1 books from (x1,y1) to (x2,y2), if less than n1 books at that position, move away all of them. 
Make sure that at first, there is one book on every grid and 0<=x1,y1,x2,y2<=1000,1<=n1<=100. 
 

Output
At the beginning of each case, output "Case X:" where X is the index of the test case, then followed by the "S" queries. 
For each "S" query, just print out the total number of books in that area. 
 

Sample Input
  
2 3 S 1 1 1 1 A 1 1 2 S 1 1 1 1 3 S 1 1 1 1 A 1 1 2 S 1 1 1 2
 

Sample Output
  
Case 1: 1 3 Case 2: 1 4
 

Author
Sempr|CrazyBird|hust07p43
 

Source
 

POINT:
注意没说给你的点是左上和右下,要判一下。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
#define  LL long long
const int N = 1001;
int mp[N+5][N+5];
int sum[N+5][N+5];
int lowbit(int x)
{
    return x&-x;
}
void add(int x,int y,int a)
{
    for(int i=x;i<=N;i+=lowbit(i))
    {
        for(int j=y;j<=N;j+=lowbit(j))
        {
            sum[i][j]+=a;
        }
    }
}
int query(int x,int y)
{
    int ans=0;
    for(int i=x;i>=1;i-=lowbit(i))
    {
        for(int j=y;j>=1;j-=lowbit(j))
            ans+=sum[i][j];
    }
    return ans;
}
int main()
{
    int T;
    scanf("%d",&T);
    int o=0;
    while(T--)
    {
        int n;
        scanf("%d",&n);
        memset(sum,0,sizeof sum);
        for(int i=1;i<=N;i++)
        {
            for(int j=1;j<=N;j++)
            {
                mp[i][j]=1;
                add(i,j,1);
            }
        }
        int x1,x2,y1,y2,n1;
        printf("Case %d:\n",++o);
        while(n--)
        {
            char c;
            getchar();
            scanf("%c",&c);
            if(c=='S')
            {
                scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
                x1++,y1++,x2++,y2++;
                if(x1>x2) swap(x1,x2);
                if(y1>y2) swap(y1,y2);
                printf("%d\n",query(x2,y2)+query(x1-1,y1-1)-query(x1-1,y2)-query(x2,y1-1));
            }
            else if(c=='A')
            {
                scanf("%d %d %d",&x1,&y1,&n1);
                x1++,y1++;
                mp[x1][y1]+=n1;
                add(x1,y1,n1);
            }
            else if(c=='D')
            {
                scanf("%d %d %d",&x1,&y1,&n1);
                x1++,y1++;
                if(mp[x1][y1]<n1) n1=mp[x1][y1],mp[x1][y1]=0;
                else mp[x1][y1]-=n1;
                add(x1,y1,-n1);
            }
            else if(c=='M')
            {
                scanf("%d %d %d %d %d",&x1,&y1,&x2,&y2,&n1);
                x1++,y1++,x2++,y2++;
                if(mp[x1][y1]<n1) n1=mp[x1][y1],mp[x1][y1]=0;
                else mp[x1][y1]-=n1;
                mp[x2][y2]+=n1;
                add(x1,y1,-n1);
                add(x2,y2,n1);
            }
        }
        
    }
}



从Android到鸿蒙:UI框架迁移的实战指南与最佳实践 本文为Android开发者提供了将应用UI框架迁移至鸿蒙系统的实战指南。文章深入对比了Android命令式编程与鸿蒙ArkUI声明式编程的核心差异,详细讲解了从环境配置、布局迁移(如RecyclerView转List)、逻辑处理到多设备适配与性能优化的全流程最佳实践,帮助开发者高效完成迁移工作。 阅读详情

相关推荐

STM32实战指南:TFTLCD液晶屏驱动与ILI9341应用解析

本文详细解析了STM32驱动TFTLCD液晶屏的实战技巧,重点介绍了ILI9341控制器的硬件连接、寄存器操作及性能优化方法。通过8080并行接口时序分析、GRAM操作优化和DMA传输应用,帮助开发者高效实现液晶屏驱动,适用于工业控制、智能家居等场景。

weixin_26873711的博客 232

hdu - 1892 - See you~(二维树状数组(单点修改))

题意:由格子组成的一个房间,开始时每个格子都有1本书,然后来一Q个query,进行增、删、移动、查询矩形(x1, y1) - (x2, y2)内的书本数。 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1892 ——>>做的第一道二维树状数组题,写法基本和一维树状数组是一样的。 #include #include #include us

无节操 1103

fMRI数据处理:从DICOM到NIFTI(下)

上一篇我们完成了对原始DICOM的数据整理,将其整理为了BIDS目录结构。作为从从DICOM到NIFTI的最后一篇,当然是介绍如何批量将DICOM格式转NIFTI格式啦!从DICOM到NIFTI系列就完成啦!撒花★,°.°★。从核磁机器把数据拷回来——到整理成BIDS格式——到批量转格式;我们fMRI数据处理的第一步就算是正式迈出去啦!接下来的内容,敬请期待吧~

weixin_44933894的博客 2079

See you~

See you~ Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 195    Accepted Submission(s): 63   Problem Descrip

bruce_teng2011的专栏 664

[工具使用]黑暗引擎FOFA

黑暗引擎FOFAFOFA(点我进入)逻辑运算符搜索子域名domain搜索指定内容的host全部域名bodycert搜索选定应用的网站搜索指定开放端口的IP搜索指定协议的IP搜索IP或者网段的信息搜索指定CSS/JS网站常用的一些内容其他 FOFA(点我进入) 官网这样描述:FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 简单理解就是,一个本土加强版shodan,知道某产品在互联网的部署情况、

网络安全知识分享 3万+

基于深度学习YOLOv8的花卉检测与识别系统(附完整资源+PySide6界面+训练代码)

通过本项目,我们成功实现了基于YOLOv8的花卉检测与识别系统,涵盖了数据预处理、模型训练、推理与实时检测、以及GUI界面的实现。YOLOv8在花卉检测中的高效性和准确性为实际应用提供了强有力的支持。

斌擎科技 716

hdu1892(二维树状数组)

  1 #include&lt;iostream&gt; 2 using namespace std; 3 int a[1010][1010],c[1010][1010],n=1005; 4 int lowbit(int x) 5 { 6 return x&amp;(-x); 7 } 8 int sum(int x,int y) 9...

weixin_33860722的博客 113

基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)

一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 ...

6万+

HDU 1892 See you~【树状数组】

See you~ Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2658 Accepted Submission(s): 841 Problem Description Now I am leaving hust acm. I

看曙光 921

Gromacs 模拟昆虫 P450 解毒酶与农药结合完整指南,仅供参考!

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1242

ANSYS专题-利用ANSYS SIwave进行PCB板的EMS仿真

本文详细描述了使用ANSYSSIwave进行电路板电磁敏感度(EMS)仿真的完整流程。主要步骤包括:导入AD软件生成的IPC2581文件,检查PCB叠层和电路参数,为敏感网络设置50欧姆端口并指定GND为参考网络,进行验证检查后设置频段范围和入射波类型(单/多入射、极化方式等),最后启动仿真并查看选定网络的EMS感应电压曲线。该过程提供了从文件准备到结果分析的全套操作指南,适用于评估电路板在电磁干扰环境下的性能表现。

whm128的博客 3614

hdu1892 See you~ 二维树状数组

首先,这个时二维数组数组的用法。。。 直接套模版的说。。。 See you~ Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 4813    Accepted Submission(s): 1537 Prob

kyoma的博客 873

14、利用Helm和GitOps实现Kubernetes资源管理与CI/CD流程优化

本文介绍了如何结合Helm、GitOps和Terraform等工具,优化Kubernetes资源管理和CI/CD流程。内容涵盖了Helm提供程序的配置、GitOps的核心理念、CI/CD管道的构建与测试策略、GitHub源代码管理模型以及流程优化建议,旨在提升软件开发和部署的效率与质量。

y7z8a9的博客 156

HDU 1892 See you~(二维树状数组的单点更新,区间求值)

题目链接:点击打开链接 二维树状数组单点更新,区间求值的入门题目: 一维树状数组的思想很容易应用到二维树状数组中,sum[i][j]表示一块矩阵的和,其中i - lowBit(i) 那么求以(x1,y1) (左下角) 和 (x2,y2)(右上角) 为对角线的矩阵的和为getSum(x2,y2) - getSum(x1 - 1,y2) - getSum(x2,y1 - 1) + getSum

不忘初心 506

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

hdu1892 See you(二维树状数组)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1892 1.题意: 一个矩阵中含有1000*1000个格子,每个格子放了一本书,现在有4种操作: ①'A' 在某个格子添加n本书; ②'D' 在某个格子删除n本书;③'M' 从某个格子移动n本书到另一个格子; ④查询以 x1,y1 x2,y2 为对角线端点的子矩阵中,总共含有多少本书。 2.思...

zark721的博客 261

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【ICPC-420】hdu 1892 See you~

点击打开hdu 1892 思路: 二维树状数组 分析: 1 题目给定4种操作: S x1 y1 x2 y2 询问以(x1 , y1) - (x2 , y2)为对角线的矩形的面积,但是这个对角线不一定是正对角线。A x1 y1 n 把点(x1 , y1)加上n。D x1 y1 n点(x1 , y1)减去n如果不足n就全部删除即可。M x1 y1 x2 y2 n 把点(x1 , y1)点值中扣...

藏经阁 | 玄苦 1918

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

HDU 1892 See you~ (二维树状数组)

题目链接: 戳我 题目大意: 给你一个书架, 1000*1000的矩阵,即格子.每个格子初始化都是1, 有下面几种操作: S x1 y1 x2 y2 意思是你应该告诉我 以(X1,Y1),(X2,Y2)作为对角线,包括两点的矩形的总共有多少书。坑点: (x1, y1) 这个点不一定比 (x2, y2)这个点的小A x1 y1 n1 意思是在(x1, y1) 这个位置放 n1 本...

aocang4831的博客 125

See you~ HDU1892

一开始还离散化弄了好久 离散化细节弄得好差 这题用二维树状数组做很快 因为树状数组下标不为0 所以所有下标要加一处理 还有就是算矩阵的时候要处理两个坐标的大小关系 个人感觉树状数组用for语句写更加简洁 #include<bits/stdc++.h> using namespace std; int c[1010][1010]; int n; int l...

weixin_30492601的博客 108

hdu 1892 See you~(二维树状数组)

See you~ 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 解题思路: 题目大意: 有很多方格,每个方格对应的坐标为(i,j),刚开始时每个格子里有1本书,然后让你统计一片区域有多少本书,还可以增加书和减 少,移动书。 算法思想: 二维树状数组。 需要注意的两点是: 1.x,y坐标从0开始,所以存储更新的时候坐

piaocoder 613

HDU 2642 stars ||HDU 1892 See you~

题目链接~~> 做题感悟:这题在做之前就听说是二维树状数组下了一跳,读了一下题真有点难,本想问度娘强忍了一下想了一会就AC。 解题思路:其实这题就看成多个一维树状数组,查询的时候从 x ~ x1 依次查询 y~y1  把和加起来就可以了。一个星如果已经点亮就不需要再点亮,如果没点亮就不能让它变暗。 代码: #include #include #include #include #inclu

Muti-Agent 2211

hdu 1892 See you~

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1892 题目大意: 在一个1001*1001的每一个点的初始值为1的矩形中,对某一点上的数值进行加减,或从某一点移动若干数值到某一点,并会有询问某子矩形中的数值,这个子矩形的边与母矩形平行. 题目思路: 二维树状数组...坑爹的一开始写了个二维线段树 =,=,TLE了... 代码:

Go.To.AC的专栏 486

【树状数组+二维】杭电 hdu 1892 See you~

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2012 panyanyany All rights reserved. URL : http://acm.hdu.edu

panyanyany(飞雨幻沙) 827

HDU 1892 See you~ (二维树状数组)

See you~ Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 2736    Accepted Submission(s): 873 Problem Description Now I am leaving hust acm. I...

weixin_34009794的博客 79

HDU 1892 See you~(二维树状数组)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1892 很明显的二维树状数组的题目,注意点细节! #include #include #include #include using namespace std; #define maxn 1010 int map[maxn][maxn]; int tree[maxn][maxn]; int

sunrain的专栏 741

HDU 1892 See you~ 二维树状数组更新点查找区间

<br />http://acm.hdu.edu.cn/showproblem.php?pid=1892<br />注意本道题目的数的坐标是从0开始,而树状数组是要求从1开始,因此我们把下标整体加一!<br />然后注意在D和M时判断改点的书的本数是否满足大于要移动的本数的要求!分两种情况就可以了!<br />昨天中秋节,今天何云鹏同学去打区域赛了!我只能等待明年了!加油!一切都是自己没有把握好!从现在开始真正为ACM奋斗,永不放弃!加油!<br />话不多说看ac代码:<br />#include<ios

Bright 1066

HDU 1892 See you~

题意: 一块矩形空间  一开始每个格子都是1  有4种操作: S操作将(x1,y1)-(x2,y2)所画出的矩形中的数求和  A操作是在(x,y)加z  D是在(x,y)减z 注意不能减成负数  M是移动 思路: 裸二维树状数组…  POJ上有楼教主出过的题 代码: #include #include #include using namespace std; #defi

House 943
上一篇: POJ 2155 Matrix(二维树状数组)
下一篇: HDU 2852 KiKi's K-Number (树状数组+二分)
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值