CCPC2020网络海选赛总结

    我们队解出了三道题,感觉难度与平时的比赛相当。不足还是算法模板以及对一些数据的处理上面。

Problem 1003:

这题是我做的。根据题意,可以将快递所在的快递柜分成两部分,一部分是在特殊快递柜前面的快递柜,另一部分是在特殊快递柜后面的快递柜。对于在后面的快递柜,我们可以发现无论先取哪一个快递,最终所花费的距离都是一样的;而对于在前面的快递,只有按照编号从大到小的顺序取快递所花费的距离才是最小的。

代码如下:

#include<bits/stdc++.h>

using namespace std;

#define ll long long

ll a[1000000+8];

int main()

{

    int t,i,j,m;

    ll n,k;

    cin>>t;

    while(t--)

    {

        ll dis=0;

        scanf("%lld%d%lld",&n,&m,&k);

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

        {

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

        }

        sort(a,a+m);

        dis=k-1;

        for(i=m-1;i>=1;i--)

        {

            if(a[i]>k)

            {

                dis+=a[i]-k;

                dis+=a[i]-k;

            }

            else

            {

                dis+=k-a[i];

                dis+=k-a[i];

            }

        }

        if(a[0]<k)

        {

            dis+=k-1;

        }

        else

        {

            dis+=a[0]-k;

            dis+=a[0]-1;

 

        }

        printf("%lld\n",dis);

    }

   return 0;

}

Problem 1007:

这道题是李勇麒负责做的。比赛时我们并没有读懂题意,所以直接看样例,通过样例可以发现,每一个样例的结果都是字符串中出现次数最多的字母的出现次数,所以我们只需要输出所给字符串中出现次数最多的字母的次数即可。

Problem 1010:

模拟题,照着题意模拟就行了。

 

 

系统没法提交代码了,不知道自己写的对不对,就不上传了。

posted @ 2020-09-25 19:57  chengxvzhishen  阅读(161)  评论(0)    收藏  举报