zoukankan      html  css  js  c++  java
  • bzoj 1034 贪心

      首先如果我们想取得分最高的话,肯定尽量赢,实在赢不了的话就耗掉对方最高的,那么就有了贪心策略,先排序,我方最弱的马和敌方最弱的相比,高的话赢掉,否则耗掉敌方最高的马。

      对于一场比赛,总分是一定的,所以两问实际上是等效的。

    /**************************************************************
        Problem: 1034
        User: BLADEVIL
        Language: C++
        Result: Accepted
        Time:264 ms
        Memory:1588 kb
    ****************************************************************/
     
    //By BLADEVIL
    #include<cstdio>
    #include<algorithm>
    #define maxn (100000+10)
     
    using namespace std;
     
    int n,a[maxn],b[maxn];
     
    int calc()
    {
        int i,j,k,l,ans;
        i=j=1; k=l=n; ans=0;
        while (i<=k)
        {
            if (a[i]>b[j]) ans+=2,i++,j++;
            else if(a[k]>b[l]) ans+=2,k--,l--;
            else ans+=(a[i]==b[l]),i++,l--;
        }
        return ans;
    }
     
    int main()
    {
        scanf("%d",&n);
        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+1+n); sort(b+1,b+1+n);
        printf("%d ",calc());
        swap(a,b);
        printf("%d
    ",2*n-calc());
        return 0;
    }
  • 相关阅读:
    10-2[RF] OOB validation
    5.css背景以及书写位置
    4.css基础
    3.表单form
    2.表格
    1.html基础
    正则表达式
    协程
    7.树与树算法
    6.排序与二分查找
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3568177.html
Copyright © 2011-2022 走看看