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 ( ...
随机推荐
- oralce move和shrink释放高水位
转自:https://blog.51cto.com/fengfeng688/1955137 move和shrink的共同点: 收缩段,消除部分行迁移,消除空间碎片,使数据更紧密 shrink用法: 语 ...
- Kubernetes 升级过程记录:从 1.17.0 升级至最新版 1.20.2
本文记录的是将 kubernetes 集群从 1.17.0 升级至最新版 1.20.2 的实际操作步骤,由于 1.17.0 无法直接升级到 1.20.2,需要进行2次过滤升级,1.17.0 -> ...
- Gulp4.0入门和实战
gulp4.0入门和实战 我最近遇到需要优化web的性能的任务,然后就捣鼓了一些对资源文件优化压缩的方案.由于之前的项目中有使用到gulp,所以在需要处理的web项目中也优先使用这个技术. 先聊聊gu ...
- [Usaco2010 Hol]cowpol 奶牛政坛
题目描述: 农夫约翰的奶牛住在N (2 <= N <= 200,000)片不同的草地上,标号为1到N.恰好有N-1条单位长度的双向道路,用各种各样的方法连接这些草地.而且从每片草地出发都可 ...
- html简单基础
标签语法 标签的语法: <标签名 属性1="属性值1" 属性2="属性值2"-->内容部分</标签名> <标签名 属性1=&quo ...
- 踹树(Trie 字典树)
Trie 字典树 ~~ 比 KMP 简单多了,无脑子选手学不会KMP,不会结论题~~ 自己懒得造图了OI WIKI 真棒 字典树大概长这么个亚子 呕吼真棒 就是将读进去的字符串根据当前的字符是什么和所 ...
- C# 给Word不同页面设置不同背景
给Word文档设置背景时,通常只能针对整篇文档设置统一的背景,如果需要对某些页面单独设置背景,则需要通过另外的方式来实现.本文通过C# 程序代码演示如何来实现.并附VB.NET代码作参考. 思路:通过 ...
- CSS3 Flex Box 弹性盒子、弹性布局
目录 1. 概要 2. justify-content 属性 3. align-items 属性 4. flex-wrap 属性 5. align-content 属性 6. 居中 7. align- ...
- 跨边界传输之反弹shell
反弹shell 1.nc 正向连接 攻击机 nc-vv 受害者ip 受害者port 受害者 ...
- Java复习整理 Day02
1 package demo01; 2 3 import java.util.Scanner; 4 5 public class ScannerDemo01 { 6 public static voi ...