zoukankan      html  css  js  c++  java
  • uva7147 World Cup(思路)

    题意:

    一共有n(1e9)个人,有m(1e9)个晋级,两两之间打一次,输赢平各有一个得分,平分随机排名,问晋级的人可能的最小得分和没晋级的人可能的最大得分。

    思路:

    就是想一下情况就好了,如果赢的分不如输的分高,就交换一下,要求晋级的人的最小得分,那他肯定是第m名,

    就让前m-1个人全都赢了他和那些没晋级的人(这样确保前m-1个人得分最大了,内部怎么搞无所谓),

    然后他跟剩下的那些没晋级的人可以全都平,可以赢的局数大于等于一半,这里要讨论一下,如果是要打偶数局,那肯定输赢个半,如果是奇数局,那就要输赢个半还剩下一局,

    那局要取平和赢中较低的一种(平的话就是跟后面的人全都并列,但也晋级了),还要讨论一下所有人都平的情况,有可能这样是最低的。

    然后是求没晋级的人可能的最大得分。思路差不多吧,他跟剩下的没晋级的人打全都赢了(晋级的m个人也是),然后就是他跟晋级的m个人打,

    可能输赢个半或者奇数的时候剩下的那局取输和平的较大的一种,跟前面一样的,再比一下全平的取一个最大。

    /* ***********************************************
    Author        :devil
    ************************************************ */
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <stack>
    #include <map>
    #include <unordered_map>
    #include <string>
    #include <time.h>
    #include <cmath>
    #include <stdlib.h>
    #define rep(i,a,b) for(int i=a;i<=b;i++)
    #define dep(i,a,b) for(int i=a;i>=b;i--)
    #define ou(a) printf("%d
    ",a)
    #define pb push_back
    #define pii pair<int,int>
    #define mkp make_pair
    #define IN freopen("in.txt","r",stdin);
    #define OUT freopen("out.txt","w",stdout);
    using namespace std;
    typedef long long LL;
    const int inf=0x3f3f3f3f;
    const int mod=1e9+7;
    const int N=1e5+10;
    int t;
    LL n,m,a,b,c;
    int main()
    {
        scanf("%d",&t);
        for(int cas=1;cas<=t;cas++)
        {
            cin>>n>>m>>a>>b>>c;
            if(a<c) swap(a,c);
            LL ans1=b*(n-1);
            LL ans2=ans1;
            LL cnt=(m/2)*(a+c);
            if(m%2!=0) cnt+=max(b,c);
            ans1=max(ans1,(n-m-1)*a+max(m*b,cnt));
            cnt=(n-m)/2*(a+c);
            if((n-m)%2!=0) cnt+=min(b,a);
            ans2=min(ans2,(m-1)*c+min((n-m)*b,cnt));
            printf("Case #%d: ",cas);
            cout<<ans1<<' '<<ans2<<endl;
        }
        return 0;
    }
  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/d-e-v-i-l/p/6150301.html
Copyright © 2011-2022 走看看