zoukankan      html  css  js  c++  java
  • Viojs 1662 最大配对

    背景

    Orz5-1 match

    描述

    给出2个序列A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出k个元素进行一一配对(可以不按照原来在序列中的顺序),并使得所有配对元素差的绝对值之和最大。

    例如各选出了a[p[1]],a[p[2]],……,a[p[k]]与b[q[1]],b[q[2]],……,b[q[k]],其中p序列中的元素两两不相同,q序列中的元素两两不相同,那么答案为|a[p[1]]-b[q[1]]|+|a[p[2]]-b[q[2]]|+……+|a[p[k]]-b[q[k]]|,现在任务也就是最大化这个答案。

    格式

    输入格式

    输入的第1行为2个正整数n,k,表示了序列的长度和各要选出元素的个数。

    第2行包含n个正整数,描述了A序列。

    第3行包含n个正整数,描述了B序列。

    输出格式

    输出仅包括一个非负整数,为最大的结果。

    注意:答案可能超过2^31-1,请使用int64或者long long(若使用printf输出请用“%I64d”)类型储存结果。

    样例1

    样例输入1

    4 2
    2 5 6 3
    1 4 6 7
    

    样例输出1

    10
    

    限制

    对于10%的数据,有k≤5,n≤10;
    对于30%的数据,有n≤100;
    对于50%的数据,有n≤1000;
    对于100%的数据,有k≤n≤100000;a[i],b[i]≤1000000。

    时限1s。

    提示

    配对(2,7)、(6,1)结果为|2-7|+|6-1|=10。

    看来贪心只适合高智商人玩儿,,

    ╮(╯▽╰)╭,

    别哭,哭什么啊。。

    不好看了都。。

    题目你!

    说什么I64d!!!

    明明是lld!!!

    打死你!

    mmp!

    看代码吧,典型的贪心,看看就明白了。:

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    using namespace std;
    
    int n,k;
    long long ans;
    int a[100002],b[100002];
    
    long long abss(long long x,long long y)
    {
        if(x>y) return x-y;
        else return y-x;
    }
    
    int main()
    {
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;++i)    
            scanf("%d",&a[i]);    
        for(int i=1;i<=n;++i)    
            scanf("%d",&b[i]);    
        sort(a+1,a+n+1);
        sort(b+1,b+n+1);
        int l1=1,l2=1,r1=n,r2=n;
        for(int i=1;i<=k;++i)
        {
            if(abss(a[l1],b[r2])>abss(a[r1],b[l2]))
            {
                ans+=abss(a[l1],b[r2]);
                l1++;
                r2--;
            }
            else
            {
                ans+=abss(a[r1],b[l2]);
                r1--;
                l2++;
            }
        }
        printf("%lld",ans);
        return 0;
    }

    如果你不开心,那我就把右边这个帅傻子分享给你吧,  

    你看,他这么好看,那么深情的望着你,你还伤心吗?  

    真的!这照片盯上他五秒钟就想笑了。  

    一切都会过去的。

  • 相关阅读:
    SpringBoot之SpringApplication
    IP数据库
    Android长按及拖动事件探究
    5.7之sql_model
    Linux 信号介绍
    设计模式详解及PHP实现:代理模式
    为你的AliOS Things应用增加自定义cli命令
    DRDS SQL 审计与分析——全面洞察 SQL 之利器
    下一代大数据处理引擎,阿里云实时计算独享模式重磅发布
    2135亿背后的双11项目协作怎么玩?
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9457182.html
Copyright © 2011-2022 走看看