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

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

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

输入格式

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

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

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

接下来 qqq 行,每行输入四个整数 x1,y1,x2,y2x_1, y_1, x_2, y_2x1​,y1​,x2​,y2​,其中 (x1,y1)(x_1, y_1)(x1​,y1​) 表示查询的矩形的左下角的坐标,(x2,y2)(x_2, y_2)(x2​,y2​) 表示查询的矩形的右上角的坐标,0≤x1≤x2≤20000 \le x_1 \le x_2 \le 20000≤x1​≤x2​≤2000,0≤y1≤y2≤20000 \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

#include<bits/stdc++.h>
using namespace std;
const int inf=0xffffff;
int dp[2005][2005]={0};
int main()
{int n,x,y,z,a,b,c,d,m;cin>>n;for(int i=0;i<n;i++){cin>>x>>y>>z;dp[x+1][y+1]+=z;//一个点可能有多个星星 }for(int i=1;i<=2002;i++){for(int j=1;j<=2002;j++){dp[i][j]=dp[i][j]+dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1];//递推出由原点到点[i,j]的星星数量 }}cin>>n;while(n--){cin>>a>>b>>c>>d;a++;b++;c++;d++;//因为上面存星星亮度的时候横纵坐标都加了一,所以这里查询也要加一。这样做是为了处理a或b等于0时的情况 ,否则就要分情况查询输出了 cout<<dp[c][d]+dp[a-1][b-1]-dp[a-1][d]-dp[c][b-1]<<endl;}
} 

计蒜客--天上的星星相关推荐

  1. 计蒜客-天上的星星(矩阵容斥)

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

  2. 【计蒜客-天上的星星】

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

  3. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  4. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  5. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  6. K - Triangle 计蒜客 - 42405

    K - Triangle 计蒜客 - 42405 题意: 给你一个三角形的三点,再给你三角形边上一个点,让你求另一个点(也要在三角形上),使得平分三角形的面积 题解: 计算几何 三角形的三边ab,ac ...

  7. H - Prince and Princess 计蒜客 - 42402

    H - Prince and Princess 计蒜客 - 42402 题意: 你现在要寻找公主,有三种人,第一种是说真话的人(至少为1,因为公主是说真话的人),第二种人是只会说假话的,第三种是胡说八 ...

  8. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  9. 计蒜客可以做计算机编程吗,如果你的编程能力不足以支撑你成为工程师的野心,不妨到计蒜客上学学看...

    在人才招聘领域存在这样一个怪圈,高校每年都说是最难就业年.人才过剩,而对于企业HR来说永远都招不到称心如意的人才.这个怪圈在"计蒜客"创始人俞昊然看来,主要是因为当今高校的教学资源 ...

最新文章

  1. 如何通过远程修改另一台电脑注册表
  2. 济南泉水与城市生态主题 第四届泉水文化论坛第二次会议
  3. 图像转换为二维数组存入DSP6748
  4. 重学java基础第十七课:java开发环境搭建
  5. 树莓派使用STEP8:使能串口调试
  6. Qt学习笔记-web图片爬取器(webKit)Qt5.6以下的版本才有
  7. android room数据库embed,Android room数据库基操
  8. Directed Minimum Spanning Tree: Chu-Liu/Edmonds Algorithm
  9. CMU 15-213 Introduction to Computer Systems学习笔记(21) Synchronization: Basic
  10. ARM在汽车电子电器架构的应用
  11. 基于Javaweb的机房预约管理系统
  12. C# 获取硬盘序列号
  13. Android下载自带开源图标库教程
  14. mediawiki php7,centos7搭建mediawiki
  15. 新版iTunes如何设置手机铃声
  16. 居中问题(水平居中和垂直居中)
  17. AI生死劫,什么样的公司将被洪流吞噬?
  18. 『Android基础入门』:EventBus实现总线数据分发
  19. 齐鲁工业大学计算机科学与技术学院院长,齐鲁工业大学计算机科学与技术学院导师教师师资介绍简介-翟翌...
  20. 跨部门的高效沟通与协作

热门文章

  1. 淘宝官方集运(大陆发货,收货地台湾)流程
  2. PyGmae:有限状态机实践(十一)
  3. 个性代码注释 大合集
  4. 好文:「大搜车」凭什么获得阿里如此青睐?
  5. c语言中用指针的必要性,浅析C语言使用指针的必要性.pdf
  6. (转)Android图形系统分析与移植--六、framebuffer研究
  7. css 闪光_闪光VS。 CSS / HTML:您会选择哪个?
  8. 【博学谷学习记录】超强总结,用心分享| jQuery简介
  9. python爬取4k高清壁纸(再也不怕没有壁纸了)
  10. VCS+Verdi脚本化仿真Vivado工程流程