`
阿尔萨斯
  • 浏览: 4185809 次
社区版块
存档分类
最新评论

uva 1511 - Soju(贪心)

 
阅读更多

题目链接:uva 1511 - Soju

题目大意:给出两个点集,问说分别从两个点集中取一点的哈夫曼距离最小值。注意一个点集的x坐标小于0,另一个大于0.

解题思路:因为x2一定大于x1,所以对于x这一维,一定是+x2-x1,所以只需要考虑y这一维坐标即可。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>

using namespace std;
const int maxn = 1e5+5;
const int INF = 0x3f3f3f3f;

struct point {
    int x, y, flag;
}p[maxn*2];
int N, M;

bool cmp (const point& a, const point& b) {
    return a.y < b.y;
}

void init () {
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        scanf("%d%d", &p[i].x, &p[i].y);
        p[i].flag = 0;
    }

    scanf("%d", &M);
    for (int i = 0; i < M; i++) {
        scanf("%d%d", &p[i+N].x, &p[i+N].y);
        p[i+N].flag = 1;
    }

}

int main () {
    int cas;
    scanf("%d", &cas);
    while (cas--) {
        init();
        int ans = INF, now = INF;
        sort(p, p + N + M, cmp);
        for (int i = 0; i < N + M; i++) {
            if (p[i].flag)
                now = min(now, p[i].x - p[i].y);
            else
                ans = min(ans, now - p[i].x + p[i].y);
        }

        now = INF;
        reverse(p, p + N + M);
        for (int i = 0; i < N + M; i++) {
            if (p[i].flag)
                now = min(now, p[i].x + p[i].y);
            else
                ans = min(ans, now - p[i].x - p[i].y);
        }
        printf("%d\n", ans);
    }
    return 0;
}
分享到:
评论

相关推荐

    soju:[WIP]简单和最小的着陆页| 吉柯主题

    gem "soju-jekyll" 并将此行添加到您的Jekyll网站的_config.yml : theme : soju-jekyll 然后执行: $ bundle 或将其自己安装为: $ gem install soju-jekyll 尾风CSS 安装node软件包: $ yarn install 创建...

    testnet:Terra testnet版本的配置文件

    测试网状态2020年10月4日09:00 UTC soju-0014退休2020年8月21日09:00 UTC tequila-0002直播tequila-0001退休2020年7月13日世界标准时间(UTC) tequila-0001直播vodka-0001退休2020年4月25日04:00 UTC 烧酒0014直播...

    Soju06

    yii2-plupload:Yii2 插件扩展

    通过 composer 安装包: composer require soju/yii2-plupload:dev-master 演示模块 将此添加到您的模块配置中: 'plupload' =&gt; [ 'class' =&gt; 'soju\yii2plupload\Module' , ], 然后去...

    基于matlab实现的指纹识别.rar

    基于matlab实现的指纹识别.rar

    node-v6.11.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.3.0-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    项目型制造企业生产计划规划设计方案.pptx

    项目型制造企业生产计划规划设计方案.pptx

    Swing界面开发和游戏开发.docx

    Swing界面开发和游戏开发.docx

    物流企业数字化转型暨五级信息化流程架构(L1-L5)规划建设方案.pptx

    物流企业数字化转型暨五级信息化流程架构(L1-L5)规划建设方案.pptx

    39黎秋菊.ipynb

    39黎秋菊.ipynb

    智力竞赛抢答器逻辑电路设计Multisim仿真

    本设计主要利用数字电子的知识设计的八人抢答器,随着电子技术的发展,它在各个领域的应用也越来越广泛。人们对它的认识也正逐步加深,从而利用电子技术以及相关的知识来解决一些实际问题。例如:智能抢答器的设计与制作。抢答器是智力竞赛活动中一种较为常见的装置。从原理上讲,它是一种典型的数字电路。并且,数字抢答器是由主体电路和扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出,主持人按开始按钮示意开始,以上两部分组成主体电路。在抢答电路中利用一个优先编码器译出最先抢到答题权的选手的编号并经LED显示器显示出来,同时还要封锁电路以防其他选手再抢答。当选手完成答题后,主持人将系统复位清除数据。

    基于matlab实现的HOG特征提取在进行SVM行人检测,经典算法.rar

    基于matlab实现的HOG特征提取在进行SVM行人检测,经典算法.rar

    arabic_PP-OCRv3_rec.onnx

    PP-OCR rec

    毕设基于机器学习的新闻标题分类系统源码+数据集+训练好的模型+项目操作说明.zip

    系统环境配置 Python:3.8.13 操作系统:Windows 数据库:MySQL Web框架:Flask 模型训练:sklearn 1.Anaconda创建虚拟环境 conda create -n Graduation python=3.8 命令行切换到对应目录 2.安装第三方库 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 3.将数据导入数据库 mysql -u root -p --local-infile=1 < D:\Bachelor_Graduation\Bachelor_Graduation.sql 二、模型训练 1.执行preprocess.ipynb 2.目录下自动生成model文件夹,里面存放训练好的模型pkl格式文件 三、系统启动 运行命令python main.py,在浏览器端输入127.0.0.1:5000即可 查看MySQL数据库中用户和管理员表可以得到用户名和密码,登录后可使用该系统

    此仓库用于对px4无人机的远程基础控制.zip

    无人机最强源码,无人机算法,易于部署和学习交流使用

    Rain Birdt Simple To Set Timer (SST) 使用说明书.pdf

    Rain Birdt Simple To Set Timer (SST) 使用说明书

    node-v10.15.1-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics