博客
关于我
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存储引擎(1):存储引擎体系结构和介绍
查看>>
Mysql存储引擎(2):存储引擎特点
查看>>
MySQL存储引擎--MyISAM与InnoDB区别
查看>>
mysql存储总结
查看>>
mysql存储登录_php调用mysql存储过程会员登录验证实例分析
查看>>
MySql存储过程中limit传参
查看>>
MySQL存储过程入门
查看>>
mysql存储过程批量建表
查看>>
MySQL存储过程的使用实现数据快速插入
查看>>
mysql存储过程详解
查看>>
Mysql存表情符号发生错误
查看>>
MySQL学习-group by和having
查看>>
MySQL学习-MySQL数据库事务
查看>>
MySQL学习-MySQL条件查询
查看>>
MySQL学习-SQL语句的分类与MySQL简单查询
查看>>
MySQL学习-子查询及limit分页
查看>>
MySQL学习-排序与分组函数
查看>>
MySQL学习-连接查询
查看>>
Mysql学习总结(10)——MySql触发器使用讲解
查看>>
Mysql学习总结(11)——MySql存储过程与函数
查看>>