博客
关于我
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/

你可能感兴趣的文章
nagios+cacti整合
查看>>
Nagios介绍
查看>>
nagios利用NSCient监控远程window主机
查看>>
nagios安装文档
查看>>
nagios服务端安装
查看>>
Nagios自定义监控脚本
查看>>
name_save matlab
查看>>
Nami 项目使用教程
查看>>
Nancy之基于Nancy.Hosting.Aspnet的小Demo
查看>>
NAND NOR FLASH闪存产品概述
查看>>
nano 编辑
查看>>
nanoGPT 教程:从零开始训练语言模型
查看>>
NASA网站曝严重漏洞,或将沦为黑客钓鱼网站?
查看>>
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>
NAS个人云存储服务器搭建
查看>>
NAT PAT故障排除实战指南:从原理到技巧的深度探索
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>