在一个星光摧残的夜晚,蒜头君一颗一颗的数这天上的星星。

蒜头君给在天上巧妙的画了一个直角坐标系,让所有的星星都分布在第一象。天上有 nn 颗星星,他能知道每一颗星星的坐标和亮度。

现在,蒜头君问自己 qq 次,每次他问自己每个矩形区域的星星的亮度和是多少(包含边界上的星星)。

输入格式

第一行输入一个整数 n(1 \le n \le 50000)n(1≤n≤50000) 表示星星的数量。

接下里 nn 行,每行输入三个整数 x,y,w(0 \le x, y, w\le 2000)x,y,w(0≤x,y,w≤2000),表示在坐标 (x,y)(x,y) 有一颗亮度为 ww 的星星。注意一个点可能有多个星星。

接下来一行输入一个整数 q(1 \le q \le 50000)q(1≤q≤50000),表示查询的次数。

接下来 qq 行,每行输入四个整数 x_1, y_1, x_2, y_2x1​,y1​,x2​,y2​,其中 (x_1, y_1)(x1​,y1​) 表示查询的矩形的左下角的坐标,(x_2, y_2)(x2​,y2​) 表示查询的矩形的右上角的坐标,0 \le x_1 \le x_2 \le 20000≤x1​≤x2​≤2000,0 \le y_1 \le y_2 \le 20000≤y1​≤y2​≤2000。

输出格式

对于每一次查询,输出一行一个整数,表示查询的矩形区域内的星星的亮度总和。

样例输入

5
5 0 6
7 9 7
8 6 13
9 7 1
3 0 19
4
0 8 7 9
0 0 7 10
2 7 10 9
5 4 7 5

样例输出

7
32
8
0

给出第一象限下的坐标并给出这个坐标下的值 给我们多个矩形的范围 求这个

虽然暴力能过

但是树状数组 也可以~并且更快~

复杂度O(q*log(x)*log(y))

x,y<=2000

注意边界要算进去 而且数据不能存在0,0上

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll tre[2010][2010];
void add(int x,int y,int w)
{for(int i=x;i<=2001;i+=i&(-i)){for(int j=y;j<=2001;j+=j&(-j)){tre[i][j]+=w;}
}
ll query(int x,int y){ll sum=0;for(int i=x;i>0;i-=i&(-i)){for(int j=y;j>0;j-=j&(-j)){sum+=tre[i][j];           }return sum;
}
int main()
{int n;ios::sync_with_stdio(0);cin>>n;while(n--){int x,y,w;cin>>x>>y>>w;add(x+1,y+1,w);}int q;cin>>q;while(q--){int lx,ly,rx,ry;cin>>lx>>ly>>rx>>ry;ll ans = query(rx+1,ry+1)-query(rx+1,ly)-query(lx,ry+1)+query(lx,ly); //注意边要算在矩形内 cout<<ans<<endl;            }return 0;
} 

2018蓝桥模拟赛·天上的星星 暴力|二维树状数组相关推荐

  1. 2018蓝桥模拟赛 天上的星星

    在一个星光摧残的夜晚,蒜头君一颗一颗的数这天上的星星. 蒜头君给在天上巧妙的画了一个直角坐标系,让所有的星星都分布在第一象.天上有 nn 颗星星,他能知道每一颗星星的坐标和亮度. 现在,蒜头君问自己  ...

  2. [蓝桥杯][算法训练VIP]暗恋(二维树状数组)

    题目描述 同在一个高中,他却不敢去找她,虽然在别人看 来,那是再简单不过的事.暗恋,是他唯一能做的事.他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了.操场上的彩砖啊,你们的位置,就是 ...

  3. 二维树状数组 ----2021广东省赛 ----- K - Kera‘s line segment[区间转二维平面+树状数组维护前缀最小最大值]

    题目链接 题目大意: 就是一个一维的数轴上面有一堆线段用一个三元组(l,r,val)(l,r,val)(l,r,val)表示. 现在我们有两个操作: 就是往数轴上面添加线段 询问[L,R][L,R][ ...

  4. 2018山东冬令营:UPC 计数问题 (二维树状数组)

    计数问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 185  解决: 51 [提交][状态][讨论版][命题人:admin] 题目描述  一个n*m的方格,初始时每个格子有一个整数权 ...

  5. [蓝桥杯][算法提高VIP]分苹果(差分||树状数组)

    题目描述 小朋友排成一排,老师给他们分苹果. 小朋友从左到右标号1-N.有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li+1个小朋友每人发Ci个苹果. 最后老师想知道每个小朋友有多少苹 ...

  6. jzoj4739-[雅礼联考GDOI2017模拟9.2]Ztxz16学图论【LCT,树状数组】

    正题 题目链接:https://gmoj.net/senior/#main/show/4739 题目大意 nnn个点mmm条边的一张图,qqq次询问一个区间的边可以形成多少连通块. 解题思路 询问按照 ...

  7. 2018 蓝桥杯省赛 B 组模拟赛(一)I. 天上的星星(二维前缀和)

    题目描述 在一个星光摧残的夜晚,蒜头君一颗一颗的数这天上的星星. 蒜头君给在天上巧妙的画了一个直角坐标系,让所有的星星都分布在第一象.天上有 nn 颗星星,他能知道每一颗星星的坐标和亮度. 现在,蒜头 ...

  8. 2018蓝桥模拟赛(一) 数独(dfs)

    题目描述 蒜头君今天突然开始还念童年了,想回忆回忆童年.他记得自己小时候,有一个很火的游戏叫做数独.便开始来了一局紧张而又刺激的高阶数独.蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出 ...

  9. 2016 大连网赛---Different GCD Subarray Query(GCD离散+树状数组)

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5869 Problem Description This is a simple probl ...

最新文章

  1. LeetCode: 13. Roman to Integer
  2. 如何用photoshop做24色环_如何用Photoshop给照片添加印章水印,内附印章模板素材...
  3. Linux 命令 alternatives和update-alternatives
  4. grpc_模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
  5. Spring 与 Spring Boot 中的事件机制
  6. 导出toolStrip1中的图标
  7. who killed my time?
  8. 安卓中radiobutton不进入监听事件_Laravel模型事件的实现原理详解
  9. HDU 3788 ZOJ问题
  10. COLINUX的安装与网络配置
  11. 【BZOJ2728】[HNOI2012]与非 并查集+数位DP
  12. gc:C语言的垃圾回收库-英文
  13. java中注解操作redis_spring boot —— redis 缓存注解使用教程
  14. @Value注入static属性
  15. spark与hadoop对比
  16. ROOT大师PC版 v1.7.6.7190 绿色免费版
  17. nginx静态图片路径映射
  18. opencv学习笔记三十六:AKAZE特征点检测与匹配
  19. 层次聚类算法之single-linkage和complete-linkage(C语言实现)
  20. 一些应该知道的电脑小技巧

热门文章

  1. 移动端去掉按钮点击热区
  2. 第十讲:Obj-C Blocks 应用
  3. C语言程序设计上机前三题,C语言程序设计(含上机实验与习题解答)
  4. javax.script.ScriptException: ReferenceError: xxx is not defined in eval
  5. linux cron 定时任务无效 /var/spool/cron/xxx
  6. ConcurrentHashMap底层原理?
  7. 小程序 获取 用户 unionid
  8. mpvue 从零开始 女友拉黑了我 5 不在以下request 合法域名列表中,请参考文档
  9. sqlalchemy mysql配置中怎么设置utf8_在SqlAlchemy中,我想要一个列是UTF8?
  10. 委婉的拒绝offer