2019计蒜之道初赛4 B. 腾讯益智小游戏—矩形面积交(简单)(矩形交集)
- 1000ms
- 262144K
腾讯游戏开发了一款全新的编程类益智小游戏,最新推出的一个小游戏题目是关于矩形面积交的。聪明的你能解出来吗?看下面的题目接招吧。
给定二维平面上 nn 个与坐标轴平行的矩形,每个矩形是形如 \lbrace (x,y) | x,y \in R, x_1 \le x \le x_2, y_1 \le y \le y_2 \rbrace{(x,y)∣x,y∈R,x1≤x≤x2,y1≤y≤y2} 的点集,你的任务是对于每个矩形,计算它与其他矩形的交集。
具体来说,令 area(i,j)area(i,j) 表示第 ii 个矩形与第 jj 个矩形的交集面积,你需要对于 i = 1, 2, \cdots, ni=1,2,⋯,n,计算 \displaystyle\sum_{1 \le j \le n, i \neq j, area(i,j)>0} 11≤j≤n,i=j,area(i,j)>0∑1 和 \displaystyle\sum_{1 \le j \le n,i \neq j} area(i,j)1≤j≤n,i=j∑area(i,j) 的值。
输入格式
输入包含多组测试数据,输入的第一行包含一个正整数 TT,表示测试数据的组数。
接下来依次描述每组测试数据,对于每组测试数据:
第一行包含一个正整数 nn,表示矩形的数量。
接下来 nn 行,每行包含四个非负整数 x_1, y_1, x_2x1,y1,x2 和 y_2y2,表示一个矩形 \lbrace (x,y) | x,y \in R, x_1 \le x \le x_2, y_1 \le y \le y_2 \rbrace{(x,y)∣x,y∈R,x1≤x≤x2,y1≤y≤y2},保证有 x_1 < x_2x1<x2 和 y_1 < y_2y1<y2。
输出格式
对于每组测试数据,输出 nn 行,其中第 ii 行包含两个非负整数,用恰好一个空格隔开,这里第 ii 行的第一个整数表示与输入给出的第 ii 个矩形严格有交集的矩形数量(不含第 ii 个矩形),第二个整数表示这些矩形分别与第 ii 个矩形的交集面积之和。
数据范围
所有测试数据的 nn 之和不超过 50005000,且坐标均为不超过 50005000 的非负整数。
样例输入复制
2
2
0 0 1 1
1 1 2 2
3
0 0 2 6
1 1 4 4
1 3 3 9
样例输出复制
0 0
0 0
2 6
2 5
2 5 矩形交集。
给出坐标点,求矩形交集个数与单位面积。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; struct Node{
int x1,y1,x2,y2;
}a[]; int calc(int a1x1,int a1y1,int a1x2,int a1y2,int a2x1,int a2y1,int a2x2,int a2y2){
int c=;
ll m1=max(min(a1x1,a1x2),min(a2x1,a2x2));
ll n1=max(min(a1y1,a1y2),min(a2y1,a2y2));
ll m2=min(max(a1x1,a1x2),max(a2x1,a2x2));
ll n2=min(max(a1y1,a1y2),max(a2y1,a2y2));
if(m2>m1&&n2>n1) return ;
return ;
}
ll cals(int a1x1,int a1y1,int a1x2,int a1y2,int a2x1,int a2y1,int a2x2,int a2y2){
int c=;
ll m1=max(min(a1x1,a1x2),min(a2x1,a2x2));
ll n1=max(min(a1y1,a1y2),min(a2y1,a2y2));
ll m2=min(max(a1x1,a1x2),max(a2x1,a2x2));
ll n2=min(max(a1y1,a1y2),max(a2y1,a2y2));
if(m2>m1&&n2>n1) return (m2-m1)*(n2-n1);
return ;
}
int main()
{
int t,n,i,j;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(i=;i<=n;i++){
scanf("%d%d%d%d",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2);
}
for(i=;i<=n;i++){
int c=;
ll s=;
for(j=;j<=n;j++){
if(i==j) continue;
c+=calc(a[i].x1,a[i].y1,a[i].x2,a[i].y2,a[j].x1,a[j].y1,a[j].x2,a[j].y2);
s+=cals(a[i].x1,a[i].y1,a[i].x2,a[i].y2,a[j].x1,a[j].y1,a[j].x2,a[j].y2);
}
printf("%d %lld\n",c,s);
}
}
return ;
}
2019计蒜之道初赛4 B. 腾讯益智小游戏—矩形面积交(简单)(矩形交集)的更多相关文章
- 2019 计蒜之道 初赛 第二场 B. 百度AI小课堂-上升子序列(简单) ( 实现)
题目背景 91029102 年 99 月 22 日,百度在 X 市 XX 中学举办的第一场 AI 知识小课堂大获好评!同学们对矩阵的掌握非常棒. 今天的 AI 知识小课堂的第二场开讲啦.本场 AI ...
- 2019 计蒜之道 初赛 第二场 A 百度AI小课堂-矩阵问题 ( 等差数列求和公式)
题目背景 91029102 年 99 月 11 日,百度在 X 市 XX 中学举办了一场 AI 知识小课堂,本场 AI 知识小课堂老师教授了一些矩阵的相关知识,因为矩阵在 AI 人工智能中也有相当的 ...
- 2019计蒜之道初赛3 D. 阿里巴巴协助征战SARS(困难)(大数取余+欧拉降幂)
阿里巴巴协助征战SARS(困难) 33.29% 1000ms 262144K 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA 的一条单链中,胞嘧啶.腺嘧啶均 ...
- 2019 计蒜之道 初赛 第一场 商汤的AI伴游小精灵
https://nanti.jisuanke.com/t/39260 根据题意我们可以知道 这是一个树 我们只需要找到出度最大的两个点就好了 如果包含根节点的话要-- 两个点相邻的话也要-- 数据很 ...
- 2019 计蒜之道 初赛 第一场 商汤AI园区的n个路口(中等) (树形dp)
北京市商汤科技开发有限公司建立了新的 AI 人工智能产业园,这个产业园区里有 nn 个路口,由 n - 1n−1 条道路连通.第 ii 条道路连接路口 u_iui 和 v_ivi. 每个路口都布有 ...
- 2019计蒜之道初赛第3场-阿里巴巴协助征战SARS 费马小定理降幂
题目链接:https://nanti.jisuanke.com/t/38352 发现规律之后就是算ans=2^(n-1)+4^(n-1).但是注意到n十分大是一个长度为1e5的数字.要想办法降幂. 我 ...
- 2017 计蒜之道 初赛 第五场 B. UCloud 的安全秘钥(简单)
暴力. 暴力枚举$S$串的每一个长度为$m$的子串,排序判断即可. #include <iostream> #include <cstdio> #include <cst ...
- 2017 计蒜之道 初赛 第一场 A 阿里的新游戏
题链:https://nanti.jisuanke.com/t/15499 这题观察图纸可知成三线段上的相邻点之间的距离有1,2,3三种情况的,同时要成线段必然是同横坐标或者纵坐标,然后我们排除掉穿过 ...
- 计蒜之道 初赛第一场B 阿里天池的新任务(简单)
阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss 中出现了多少次. 首先,定义一个序列 ww: \displ ...
随机推荐
- 响应式布局【3】 --- bootstrap
本片文章主要讲解Bootstrap中如何实现响应式布局的. 参考资料&内容来源: https://code.ziqiangxuetang.com/bootstrap/bootstrap-gri ...
- TCP/IP协议之ARP寻址
ARP协议: 前面讲了网络层的寻址是通过IP地址来做的.其实一个数据包寻址包含两个部分:1 IP寻址.2 ARP寻址. ARP寻址是用在数据链路层上的.我们上网的电脑都有网卡.那么在数据链路层的进行传 ...
- http://blog.csdn.net/wh211212/article/details/53005321
http://blog.csdn.net/wh211212/article/details/53005321
- Java基础教程:多线程基础(3)——阻塞队列
Java基础教程:多线程基础(3)——阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 模 ...
- Maximum Subsequence Sum 【DP】
Given a sequence of K integers { N1, N2, -, NK }. A continuous subsequence is defined to be ...
- MSSQL2005外网IP的1433端口开启方法
打开SQL Server Configuration Manager,在SQL server配置管理器展开SQL server 2005网络配置-->SQLEXPRESS 的协议-->双击 ...
- POJ1743 Musical Theme —— 后缀数组 重复出现且不重叠的最长子串
题目链接:https://vjudge.net/problem/POJ-1743 Musical Theme Time Limit: 1000MS Memory Limit: 30000K Tot ...
- win10安装tomcat7
下载Tomcat 安装tomcat tomcat7是绿色软件,解压后即可使用,请大家先将tomcat解压到合适的位置(建议整个路径都是英文路径),下载 apache-tomcat-7.0.79-win ...
- jQuery+CSS3实现弯曲文字路径
jQuery+CSS3实现弯曲文字路径,jQuery,CSS3特效,弯曲文字,文字,文字特效,环形文字. 源码下载:http://www.huiyi8.com/sc/6281.html
- c语言字符串 数字转换函数大全
最近学数据结构老是做实验 常用到字符串和数字的转换 想找却发现网上的资料太散 所以搜集整理一下 方便以后再用 atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转 ...