Light OJ 1266 - Points in Rectangle
题目
Link
就是查询矩形内有多少个点。
分析
二维树状数组维护就好了,。
Code
#include <bits/stdc++.h>
const int maxn = 1000 + 131;
struct Point {
int x, y;
};
int Num[maxn][maxn];
bool Vis[maxn][maxn];
int lowbit(int x) { return x&(-x); }
int Sum(int x, int y) {
int ret = 0;
int xx = x;
while(xx) {
int yy = y;
while(yy)
{
ret += Num[xx][yy];
yy -= lowbit(yy);
}
xx -= lowbit(xx);
}
return ret;
}
void Add(int x,int y, int val) {
int xx = x;
while(xx < maxn)
{
int yy = y;
while(yy < maxn)
{
Num[xx][yy] += val;
yy += lowbit(yy);
}
xx += lowbit(xx);
}
}
int main() {
int T;
scanf("%d",&T);
for(int kase = 1; kase <= T; kase++)
{
printf("Case %d:\n",kase);
memset(Num, 0, sizeof(Num));
memset(Vis, false, sizeof(Vis));
int Q, tmp;
Point a, b;
scanf("%d",&Q);
while(Q--)
{
scanf("%d",&tmp);
if(tmp == 0)
{
scanf("%d%d",&a.x,&a.y);
if(!Vis[a.x][a.y])
Add(a.x+1,a.y+1,1), Vis[a.x][a.y] = true;
}
else {
scanf("%d%d%d%d",&a.x,&a.y,&b.x,&b.y);
int Ans = Sum(b.x+1,b.y+1) - Sum(a.x,b.y+1) - Sum(b.x+1,a.y) + Sum(a.x,a.y);
printf("%d\n",Ans);
}
}
}
return 0;
}
Light OJ 1266 - Points in Rectangle的更多相关文章
- 1266 - Points in Rectangle
1266 - Points in Rectangle PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 3 ...
- Light OJ 1114 Easily Readable 字典树
题目来源:Light OJ 1114 Easily Readable 题意:求一个句子有多少种组成方案 仅仅要满足每一个单词的首尾字符一样 中间顺序能够变化 思路:每一个单词除了首尾 中间的字符排序 ...
- Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖
题目来源:Light OJ 1429 Assassin`s Creed (II) 题意:最少几个人走全然图 能够反复走 有向图 思路:假设是DAG图而且每一个点不能反复走 那么就是裸的最小路径覆盖 如 ...
- Light OJ 1406 Assassin`s Creed 减少国家DP+支撑点甚至通缩+最小路径覆盖
标题来源:problem=1406">Light OJ 1406 Assassin`s Creed 意甲冠军:向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路: ...
- Light OJ 1316 A Wedding Party 最短路+状态压缩DP
题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...
- light oj 1007 Mathematically Hard (欧拉函数)
题目地址:light oj 1007 第一发欧拉函数. 欧拉函数重要性质: 设a为N的质因数.若(N % a == 0 && (N / a) % a == 0) 则有E(N)=E(N ...
- Light OJ 1406 Assassin`s Creed 状态压缩DP+强连通缩点+最小路径覆盖
题目来源:Light OJ 1406 Assassin`s Creed 题意:有向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路:最少的的人能够走全然图 明显是最小路径覆盖问题 ...
- Light OJ 1288 Subsets Forming Perfect Squares 高斯消元求矩阵的秩
题目来源:Light OJ 1288 Subsets Forming Perfect Squares 题意:给你n个数 选出一些数 他们的乘积是全然平方数 求有多少种方案 思路:每一个数分解因子 每隔 ...
- Jan's light oj 01--二分搜索篇
碰到的一般题型:1.准确值二分查找,或者三分查找(类似二次函数的模型). 2.与计算几何相结合答案精度要求比较高的二分查找,有时与圆有关系时需要用到反三角函数利用 角度解题. 3.不好直接求解的一类计 ...
随机推荐
- JAVA之列表
增: import java.util.ArrayList; import java.util.List; public class T{ public static void main(Stri ...
- Python3 视频教程,全网最全的视频教程,爬虫,从入门到实战
需要联系我:QQ:1844912514 最新Python基础班+就业班视频教程 链接: python分布式爬虫打造搜索引擎链接: https://pan.baidu.com/s/1N7HL7U0gQX ...
- SpringBoot:Invalid character found in method name. HTTP method names must be tokens
问题背景 关于SpringBoot应用挂了很久之后,会发生Invalid character found in method name. HTTP method names must be token ...
- cas-5.3.x接入REST登录认证,移动端登录解决方案
一.部署cas-server及cas-sample-java-webapp 1.克隆cas-overlay-template项目并切换到5.3分支 git clone git@github.com:a ...
- Java面试题之基础篇概览
Java面试题之基础篇概览 1.一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,且public的类名必须与文件名相一致. 2.Ja ...
- 「Algospot」龙曲线DRAGON
一道考验思维的好题,顺便总结求第k大问题的常规思路: 传送门:$>here<$ 题意 给出初始串FX,每分形一次所有X替换为X+YF,所有Y替换为FX-Y.问$n$代字符串第$p$位起长度 ...
- 如何用Electron Js创建第一个应用Hello World
什么是Electron Node.js和Chromium的结合品.允许只使用HTML,CSS和JavaScript来开发跨平台桌面应用. 编写第一个Electron程序(Hello World) 在开 ...
- IntelliJ IDEA 创建 Maven简单项目
创建简单Maven项目 使用IDEA提供的Maven工具,根据artifact创建简单Maven项目.根据下图操作,创建Maven项目. 使用IDEA提供的Maven工具创建的Maven简单项目目录结 ...
- 一加X 手机变砖过程
很久无使用的一台手机,因需要获得ROOT权限而使用kingroot这款软件,无法获得root权限.而这个软件会导致手机无法进入ERCOVERY模式,后果是你没有办法刷入别的rom,而kingroot的 ...
- Vue-route实现原理
1.原理图如下所示 2.说明 1.安装插件的时候监听hashchange事件,监视_route 2.处理router-link 获取到path关联组件 3.等待hashchange触发,匹配route ...