• Eastern Exhibition【中位数 距离和的最小值】


    Eastern Exhibition中位数 距离和的最小值】
    题意翻译
    二维平面上有 n 个点,要找一个点,使得所有点到它的曼哈顿距离( x 和 y 的坐标差距之和)之和最小。请问有几个满足该要求的点?
    输入输出样例
    输入 #1
    6
    3
    0 0
    2 0
    1 2
    4
    1 0
    0 2
    2 3
    3 1
    4
    0 0
    0 1
    1 0
    1 1
    2
    0 0
    1 1
    2
    0 0
    2 0
    2
    0 0
    0 0
    输出 #1
    1
    4
    4
    4
    3
    1

    说明/提示
    下面是示例测试用例的图像。蓝点代表房屋,绿点代表展览的可能位置。
    第一个测试案例。


    第二个测试案例。


    第三个测试案例。


    第四个测试案例。


    第五个测试案例。


    第六个测试案例。这里两座房子都位于(0,0)(0,0)。

    解题思路分析:
    遇到二维问题时可以先看看能不能将其转化为一维问题。
    可以发现,当改变 × 坐标时,y坐标的距离和不变,因此可以将其转化为一维问题,即分别求出x轴和y轴最优点的数量,然后将其相乘就是答案。
    x=a[n/2]-a[(n-1)/2]+1
    y=b[n/2]-b[(n-1)/2]+1
    ans=x*y

    1. #include
    2. using namespace std;
    3. const int N=1e3+10;
    4. int k,n,a[N],b[N];
    5. int main()
    6. {
    7. cin>>k;
    8. long long x,y;
    9. while(k--){
    10. cin>>n;
    11. for(int i=0;i
    12. cin>>a[i]>>b[i];
    13. sort(a,a+n);
    14. sort(b,b+n);
    15. x=a[n/2]-a[(n-1)/2]+1;
    16. y=b[n/2]-b[(n-1)/2]+1;
    17. cout<
    18. }
    19. return 0;
    20. }
  • 相关阅读:
    设计模式-责任链设计模式
    QT最小化到托盘显示
    人工智能学习(五)人工智能三巨头
    Java 异常处理
    Android学习笔记 68. B部分:布局编辑器
    第七章:java Object类
    大数据队列Kafka
    储油罐北斗监测方案
    光盘完成-qt-动画
    ubuntu安装samba文件共享
  • 原文地址:https://blog.csdn.net/lybc2019/article/details/133360136