原题链接:H  Magic Line

题意简述:

  给定n个点,要求画一条直线将n个点分成均有n / 2个点的两部分,不能有点在线上;

解题思路:

  首先,先将所有的点进行以x为第一关键字,y为第二关键字进行排序,接着:

  1. 如果a[n / 2 - 1] < a[n / 2],那么则可以以(a[n / 2 - 1].x,INF),(a[n / 2].x,- INF)这两点画一条符合题意的直线【但是我试了(a[n / 2 - 1].x,a[n/2-1].y + INF) (a[n / 2].x,a[n/2].y - INF)也是可以的】
  2. 如果a[n / 2 - 1] == a[n / 2],那么则可以根据(a[n / 2].x - 1,a[n / 2].y + INF),(a[n / 2 - 1].x + 1,a[n / 2 - 1].y - INF)这两题画一条符合题意的直线;

                                          第一种情况

对于第二种情况,我们首先根据a1(a[n / 2].x - 1,a[n / 2].y + INF)这点做出关于(a[n / 2].x,a[n / 2].y)的对称点a2(a[n / 2].x + 1,a[n / 2].y - INF),由于a[n / 2].x == a[n / 2 - 1].x ,并且a[n / 2].y > a[n / 2 - 1].y,那么我们可以将(a[n / 2 - 1].x,a[n / 2 - 1].y - INF)看作是a2点向下移了一点(记为a2'),那么此时的a2'与a1这两点确定的直线必定符合题意;

代码如下:(参考自咖啡鸡)

#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;
typedef pair<int,int> pi;
pi a[];
int n,T;
const int E=; int main(){
cin >> T;
while (T--){
cin >> n;
for (int i = ; i < n; i++) cin >> a[i].x >> a[i].y;
sort(a, a + n);
if (a[n/ - ].x<a[n/].x) printf("%d %d %d %d\n", a[n/-].x, a[n/-].y + E, a[n/].x, a[n/].y - E);
else printf("%d %d %d %d\n", a[n/].x - , a[n/].y + E, a[n/].x + , a[n/-].y - E);
}
}

Magic Line

2019牛客暑期多校训练营(第三场)H Magic Line的更多相关文章

  1. 2019牛客暑期多校训练营(第三场)H题目

    题意:给你一个N×N的矩阵,求最大的子矩阵 满足子矩阵中最大值和最小值之差小于等于m. 思路:这题是求满足条件的最大子矩阵,毫无疑问要遍历所有矩阵,并判断矩阵是某满足这个条件,那么我们大致只要解决两个 ...

  2. 2019牛客暑期多校训练营(第三场)- F Planting Trees

    题目链接:https://ac.nowcoder.com/acm/contest/883/F 题意:给定n×n的矩阵,求最大子矩阵使得子矩阵中最大值和最小值的差值<=M. 思路:先看数据大小,注 ...

  3. 2019牛客暑期多校训练营(第三场) F.Planting Trees(单调队列)

    题意:给你一个n*n的高度矩阵 要你找到里面最大的矩阵且最大的高度差不能超过m 思路:我们首先枚举上下右边界,然后我们可以用单调队列维护一个最左的边界 然后计算最大值 时间复杂度为O(n*n*n) # ...

  4. 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)

    题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9:  对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可.     后者mod=1e9,5才 ...

  5. 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)

    链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...

  6. 2019牛客暑期多校训练营(第一场) B Integration (数学)

    链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...

  7. 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)

    链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...

  8. 2019牛客暑期多校训练营(第二场)F.Partition problem

    链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...

  9. 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)

    链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...

  10. [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem

    链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...

随机推荐

  1. AcWing 154. 滑动窗口(模板)

    (https://www.acwing.com/problem/content/156/) 给定一个大小为n≤106n≤106的数组. 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边. 您只能 ...

  2. csrf的中间件

    csrf的中间件 源码简略分析: def process_request(self, request): # 从cookies中获取csrf_token csrf_token = self._get_ ...

  3. python sys模块导入和模块的使用

    sys故名思意,就是系统模块,系统模块内置很多方法,怎么样去调用方法呢 1,argv 参数 sys.argv() 2,exit() 退出程序 sys.exit() 3,version  获取版本信息 ...

  4. free野指针问题

    gdb backtrace内容如下: Program received signal SIGABRT, Aborted. (gdb) p cmd No symbol "cmd" i ...

  5. Waiting for table flush 阻塞查询的问题

    1.此状态表示大量thread正在等待慢查询语句执行完成. 原因: The thread got a notification that the underlying structure for a ...

  6. c# winfrom程序中 enter键关联button按钮

    1,关联按钮上的Key事件             在按钮上的keypress,keydown,keyup事件必须要获得焦点,键盘上的键才能有效.        private void btnEnt ...

  7. netcore项目使用swagger开发

    首先我创建一个netcore项目,我使用的工具是vs2019 这里需要注意的是,看情况选择是否开启身份验证,一般是没有需求的,这里因为我是测试使用所以需要取消勾兑为https配置,并且我没有启用doc ...

  8. R语言——ifelse函数

    在数据处理中,经常会遇到要对判断结果做处理的情况.if函数是经常遇到的. ifelse(cond,statment1,statment2) 如果cond成立,执行statment1,否则执行statm ...

  9. 基于TMS320C6678、FPGA XC5VLX110T的6U CPCI 8路光纤信号处理卡

    基于TMS320C6678.FPGA XC5VLX110T的6U CPCI 8路光纤信号处理卡 1.板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采用两片TI DSP T ...

  10. 调整notepad++的行距的方法

    notepad++是一款免费开源的文本编辑器,在windows平台上表现非常好,可以自定义的地方多,还支持主题导入,导出和切换,对各种语言的语法高亮支持也是在各大文本编辑器中名列前茅,插件库的内容也非 ...