博客
关于我
HDU 5480
阅读量:149 次
发布时间:2019-02-27

本文共 2000 字,大约阅读时间需要 6 分钟。

传送门 :

There are many rook on a chessboard, a rook can attack the row and column it belongs, including its own place. 
There are also many queries, each query gives a rectangle on the chess board, and asks whether every grid in the rectangle will be attacked by any rook? 
InputThe first line of the input is a integer 
TT, meaning that there are 
TT test cases. 
Every test cases begin with four integers 
n,m,K,Qn,m,K,Q
KK is the number of Rook, 
QQ is the number of queries. 
Then 
KK lines follow, each contain two integers 
x,yx,y describing the coordinate of Rook. 
Then 
QQ lines follow, each contain four integers 
x1,y1,x2,y2x1,y1,x2,y2 describing the left-down and right-up coordinates of query. 
1n,m,K,Q100,0001≤n,m,K,Q≤100,000
1xn,1ym1≤x≤n,1≤y≤m
1x1x2n,1y1y2m1≤x1≤x2≤n,1≤y1≤y2≤m
OutputFor every query output "Yes" or "No" as mentioned above.

Sample Input

22 2 1 21 11 1 1 22 1 2 22 2 2 11 11 22 1 2 2
Sample Output
YesNoYes

        题目大意:棋盘上的一个车可以吃掉同一行同一列的棋子,告诉你 车 的坐标和 一块区域,看看在这块区域中的棋子是不是都会被吃掉

        前缀和 ? 

        树状数组??

        代码如下    

#include 
#include
#include
#include
#include
using namespace std;const int maxn=100000+10;int row[maxn],col[maxn];int main(){ int t; scanf("%d",&t); while(t--) { int n,m,k,q; memset(row,0,sizeof(row)); memset(col,0,sizeof(col)); scanf("%d%d%d%d",&n,&m,&k,&q); while(k--) { int a,b; scanf("%d%d",&a,&b); row[a]=1,col[b]=1; //赋值为1 有可能出现相同的不能累加 } for(int i=1;i<=n;i++) { row[i]+=row[i-1]; } for(int i=1;i<=m;i++) { col[i]+=col[i-1]; } while(q--) { int x1,y1,x2,y2,res1,res2; scanf("%d%d%d%d",&x1,&y1,&x2,&y2); res1=row[x2]-row[x1-1]; res2=col[y2]-col[y1-1]; if(res1==(x2-x1+1)||res2==(y2-y1+1)) printf("Yes\n"); else printf("No\n"); } } return 0;}

转载地址:http://xiib.baihongyu.com/

你可能感兴趣的文章
mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
查看>>
mysql进阶 with-as 性能调优
查看>>
mysql进阶-查询优化-慢查询日志
查看>>
Mysql连接时报时区错误
查看>>
mysql逗号分隔的字符串如何搜索
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL配置信息解读(my.cnf)
查看>>
Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
Mysql锁(2):表级锁
查看>>
MySQL错误提示mysql Statement violates GTID consistency
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>