codeforces 1028C Rectangles【思维】
题目:戳这里
题意:有n个矩阵,求一个点(保证存在)至少在n-1个点内。
解题思路:因为矩阵与坐标轴平行,所以我们画图可以发现如果存在点满足条件,则这些点中一定有一个是矩阵的顶点。我们可以把所有顶点的横纵坐标分别存下来排序,左下角的最大两个横纵坐标与右上角的最小两个横纵坐标相互结合,一定有一个是答案。如果不明白可以看看1029C[戳这里],算是这题的一维简化版。
附ac代码:
1 #include <cstdio>
2 #include <cstring>
3 #include <algorithm>
4 #include <string>
5 #include <vector>
6 #include <map>
7 #include <cmath>
8 #include <iostream>
9 using namespace std;
10 typedef long long ll;
11 const int maxn = 132674 + 10;
12 int n;
13 struct nod
14 {
15 int x;
16 int y;
17
18 }nua[maxn], nub[maxn];
19 int l[maxn], r[maxn], u[maxn], d[maxn];
20 void print(int lc, int dc)
21 {
22 int cnt = 0;
23 for(int i = 1; i <= n; ++i)
24 {
25 if(lc >= nua[i].x && lc <= nub[i].x && dc >= nua[i].y && dc <= nub[i].y)
26 {
27 ++cnt;
28 }
29 }
30 if(cnt >= n - 1)
31 {
32 printf("%d %d\n", lc, dc);
33 exit(0);
34 }
35 }
36 int main()
37 {
38
39 scanf("%d", &n);
40 for(int i = 1; i <= n; ++i)
41 {
42 scanf("%d %d %d %d", &l[i], &d[i], &r[i], &u[i]);
43 nua[i].x = l[i];
44 nua[i].y = d[i];
45 nub[i].x = r[i];
46 nub[i].y = u[i];
47 }
48 sort(l + 1, l + 1 + n);
49 sort(r + 1, r + 1 + n);
50 sort(d + 1, d + 1 + n);
51 sort(u + 1, u + 1 + n);
52 for(int i = 1; i <= 2; ++i)
53 {
54 for(int j = n - 1; j <= n; ++j)
55 {
56 print(l[j], u[i]);
57 print(r[i], d[j]);
58 }
59 for(int j = 1; j <= 2; ++j)
60 {
61 print(l[i], d[j]);
62 }
63 }
64 for(int i = n - 1; i <= n; ++i)
65 {
66 for(int j = n - 1; j <= n; ++j)
67 {
68 print(r[i], u[i]);
69 }
70 }
71 return 0;
72 }
codeforces 1028C Rectangles【思维】的更多相关文章
- CodeForces 604C 【思维水题】`
题意: 给你01字符串的长度再给你一个串. 然后你可以在这个串中选择一个起点和一个终点使得这个连续区间内所有的位取反. 求: 经过处理后最多会得到多少次01变换. 例如:0101是4次,0001是2次 ...
- Minimum Integer CodeForces - 1101A (思维+公式)
You are given qq queries in the following form: Given three integers lili, riri and didi, find minim ...
- Codeforces 1038D - Slime - [思维题][DP]
题目链接:http://codeforces.com/problemset/problem/1038/D 题意: 给出 $n$ 个史莱姆,每个史莱姆有一个价值 $a[i]$,一个史莱姆可以吃掉相邻的史 ...
- AND Graph CodeForces - 987F(思维二进制dfs)
题意:给出n(0≤n≤22)和m,和m个数ai,1 ≤ m ≤ 2n ,0≤ai<2n ,把ai & aj == 0 的连边,求最后有几个连通块 解析:一个一个去找肯定爆,那么就要转换一 ...
- CodeForces - 631C ——(思维题)
Each month Blake gets the report containing main economic indicators of the company "Blake Tech ...
- AIM Tech Round 5C. Rectangles 思维
C. Rectangles time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- CF1028C Rectangles 思维
Rectangles time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- Almost Acyclic Graph CodeForces - 915D (思维+拓扑排序判环)
Almost Acyclic Graph CodeForces - 915D time limit per test 1 second memory limit per test 256 megaby ...
- Diagonal Walking v.2 CodeForces - 1036B (思维,贪心)
Diagonal Walking v.2 CodeForces - 1036B Mikhail walks on a Cartesian plane. He starts at the point ( ...
随机推荐
- linux自定义位置安装tomcat8.5
1 下载tomcat安装文件 下载地址:https://tomcat.apache.org/download-80.cgi 2 解压文件 tar -zxvf apache-tomcat-8.5.56 ...
- python的Counter类
python的Counter类 Counter 集成于 dict 类,因此也可以使用字典的方法,此类返回一个以元素为 key .元素个数为 value 的 Counter 对象集合 from coll ...
- django 中连接mysql数据库的操作步骤
django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mys ...
- E1.获取Elixir/Erlang版本信息
E1.获取Elixir/Erlang版本信息 获取Elixir版本 直接在shel中打开iex (interactive shell),就可以查到具体的版本信息: iex Erlang/OTP 22 ...
- Cisco发现协议
CDP Cisco Discovery Protocol: 思科发现协议 是一个提供关于直接相连的交换机.路由器和其它Cisco设备的综合信息的专有工具 CDP 能够发现直接相邻的设备而不管这些设备所 ...
- 关于redis搭建环境
首先,window键+r 输入cmd进入dos命名窗口,我的redis是装在了d盘,so我得输入cd:或者d:进入d盘,cd\redis文件夹路径,这样的话,直接输入 redis-server -- ...
- 流量染色与gRPC服务托管 微服务协作开发、灰度发布之流量染色 灰度发布与流量染色
大规模微服务场景下灰度发布与流量染色实践 https://mp.weixin.qq.com/s/UBoRKt3l91ffPagtjExmYw [go-micro]微服务协作开发.灰度发布之流量染色 - ...
- XCTF-easyjni
前期工作 查壳无壳 逆向分析 文件结构 MainActivity代码 public class MainActivity extends c { static { System.loadLibrary ...
- 自己动手实现java断点/单步调试(一)
又是好长时间没有写博客了,今天我们就来谈一下java程序的断点调试.写这篇主题的主要原因是身边的公司或者个人都执着于做apaas平台,简单来说apaas平台就是一个零代码或者低代码的配置平台,通过配置 ...
- react空标签之The React Fragment
如何使用React.Fragment创建不可见的HTML标签 在研究Ant Design Pro项目中,在登录模块中,有React.Fragment的实际应用 接下来先看一个小demo,将返回值包装在 ...