您的位置:首页 > 其它

<9/10>集训周记

2017-09-10 20:13 176 查看
写写这两天的比赛吧,周六的一场,先是出了一道C题,题意是在N个城市间旅行,补充以及消耗椰子的问题,问椰子数是否能够支撑整个旅行。输入的是城市数、每天消耗的椰子数、每个城市能够补充的椰子树以及每两个城市间所需的天数。比较简单,代码如下:
#include<iostream>

#include<cstring>
#include<set>

using namespace std;

int main()

{

   long long int t,n,a[1100],i,j,m,k,ans,f,ff;

   cin>>t;

   while(t--)

   {

      memset(a,0,sizeof(a));

      ff=0;

      cin>>n>>m;

      for(i=0;i<n;i++)

         cin>>a[i];

      ans=a[0];

      for(i=1;i<n;i++)

      {

        cin>>f;

        if(ans>=f*m)//每两个城市间所需的椰子数

        {

            ans-=f*m;

            ans+=a[i];

        }

        else

        {

            ff=1;

        }

      }

        if(ff==1)

        cout<<"No"<<endl;

        else

        cout<<"Yes"<<endl;

    }

     return 0;

}
然后,然后,然后,一整个下午都在死磕那一道找规律的题…E题,题意是ti为1到I的合数,输入n,求大于等于n的第一个是完全平方数的ti,输出i。
由输出i而非输出ti,以及ti的范围很大,我们可以猜到这个题应该和ti没有关系,我们只需要找到每个完全平方数出现的位置,然后输出位置即可。
假设第i个完全平方数出现的位置是a[i],根据已给的测试数据,a[1]=1,a[2]=8,a[3]=49,a[4]=288,打表得到a[5]=1681,a[6]=9800,所以当奇数项时,a[i]是完全平方数,当偶数项时,a[i]是2乘一个完全平方数,然后找到了佩尔数列,上图…


然后这道题就解决了…后来很多队是直接打表打出范围内的数然后直接放数组用的…
然后今天的比赛…坐等题解…最后一个小时在怼1012题,题意是:n个数对,可以任意次数的将第一对放至最后一对的后面,然后在第一行数之和不小于第二行数之和时,求最大的总值。
用了最古老的办法写出来,样例能走过,直觉上一定会TLE…所以TLE的代码如下…
#include<iostream>

#include<algorithm>

using namespace std;

int n,maxn,kk;

int a[1000005],b[1000005];

int main()

{

    while(~scanf("%d",&n))

    {

    for(int i=1;i<=n;i++)

    {

        scanf("%d",&a[i]);

        a[n+i]=a[i];

    }

    for(int i=1;i<=n;i++)

    {

        scanf("%d",&b[i]);

        b[n+i]=b[i];

    }

    int tr,m;

    maxn=kk=-1;

    for(tr=0;tr<n;tr++)

    {

        int c,d;

        c=d=0;

        int i;

        for(i=tr+1;i<=n+tr;i++)

        {

          c+=a[i];

          d+=b[i];

          if(c<d)

          {

              m=c;

              break;

          }

          if(i==n+tr)

            m=c;

        }

        if(maxn<m){kk=tr;maxn=m;}

    }

    printf("%d\n",kk);

    }

    return 0;

}

所以…等题解出来吧…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: