zoukankan      html  css  js  c++  java
  • RCC 2014 Warmup (Div. 2)

    一场很很多HACK的比赛,PREtest太弱了,真的很多坑!平时练习的时候很少注意这些东西了!

    A:开始一直在模拟,后来发现自己的思路逻辑很乱,果然做比赛不给力! 直接在代码中解释了

    #include<iostream>
    #include<math.h>
    #include<algorithm>
    #include<string>
    using namespace std;
    int main()
    {
        int c,d,n,m,k;
        int ans=999999999;   //初始一个值
        cin>>c>>d>>n>>m>>k;
        if (k>=n*m) cout<<0<<endl;   //判断条件
        else {
                int l=m*n-k;          //出去有了的
                for (int i=0;i<=l;i++)  //M枚举第二场的比赛数
               {
                int jj=(l-i+n-1)/n;  //核心,计算第一场的比赛
               int yy=i*d+jj*c;       //+N-1是因为上界的原因
               ans=min(yy,ans);
            }
            cout<<ans<<endl;
        }
        return 0;

    } 

     B:一直在用自己呆板的思路做,后来居然超时了,冏!

    超时代码:#include<iostream>

    #include<math.h>
    #include<algorithm>
    #include<string.h>
    #include<stdio.h>
    using namespace std;
    struct node
    {
        int x,y,pos;
    }a[100001];
    int b[100005];

    int cmp(node a,node b)
    {
        if (a.y==b.y) return a.pos<b.pos;
        return a.y<b.y;
    }

    int main()
    {
        int n;
        scanf("%d",&n);
        for (int i=1;i<=n;i++)
        {
           scanf("%d%d",&a[i].x,&a[i].y);
            a[i].pos=i;
        }
        sort(a+1,a+n+1,cmp);
        //for (int i=1;i<=n;i++)
       
    //    cout<<a[i].x<<" "<<a[i].y<<endl;
     
    //   a[0].x=a[1].x;
      
    //  a[0].y=a[1].y;
        for (int i=1;i<=n;i++)
        {
            if (a[i].y!=a[i-1].y)
            {
               if (a[i].x!=0)
               {
                  printf("NO ");
                   return 0;
                   }
                   else {memset(b,0,sizeof(b));b[0]=1;}
            }
            else
            {
                    if (b[a[i].x-1]==0&&a[i].x>0) { printf("NO ");;return 0;}
                    else b[a[i].x]=1;
                }
            }
      printf("YES ");
       return 0;

    }

    memset了10^5能不超吗?

    发现一份神奇的处理代码,果然我弱了!

    #include <iostream>
    #include <map>
    using namespace std;
    int n,i,x,k;
    bool flag=true;
    int a[100005];
    int main()
    {
        cin>>n;
        for(i=1;i<=100005;i++)
            a[i]=-1;
        for(i=1;i<=n;i++)
        {
            cin>>x>>k;
            if(x>a[k])
                {
                if(x>a[k]+1)
                {
                    flag=false;
                    break;
                }
                else
                    a[k]++;
            }
        }
        if(flag)
            cout<<"YES";
        else
            cout<<"NO";
        return 0;

    }

    什么都不说了,我还做了那么多的操作,By PocolaOctavian,大神的

    C:题目比较简单,构造也比较容易,1->2,1->3,1->k+1,.....n->n+k+1,形成一个圈,再判断一下

     数组开小了明明有1000^2的,然后数据量大要用printf(" ");

    据说很多人都跪在这里了#include<iostream>

    #include<math.h>
    #include<algorithm>
    #include<string.h>
    #include<stdio.h>
    using namespace std;
    int n,k;
    int a[2000000],b[2000000];
    int main()
    {
      scanf("%d%d",&n,&k);
       if ((n-1)/2<k)
       {
          printf("-1 ");
           return 0;
       }

       int t=0;
       for (int i=1;i<=n;i++)
       {
           for (int j=1;j<=k;j++)
           {
               a[++t]=i;b[t]=i+j;
               if (i+j>n) b[t]=(i+j-n);
           }
       }
       printf("%d ",t);
       for (int i=1;i<=t;i++)
       printf("%d %d ",a[i],b[i]);
        return 0;

    } 

  • 相关阅读:
    SPSS时间序列:频谱分析
    PureBasic—数控编辑框与调节块和进度条
    DELPHI2007 安装ACTIVEX插件的方法
    C++ builder的文件操作
    C++动态数组
    excel快速复制大量公式的方法
    Delphi XE5 如何与其他版本共存
    PureBasic 集成Form设计器的使用
    VS C++ 从一个窗口创建另一个窗口
    ENVI 5.0 Beta 体验——影像数据的显示
  • 原文地址:https://www.cnblogs.com/forgot93/p/3673508.html
Copyright © 2011-2022 走看看