2021CCPC网络选拔赛题解

Posted hfctf0210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021CCPC网络选拔赛题解相关的知识,希望对你有一定的参考价值。

A

签到

F

找规律,发现(n+2)^2-n^2=4n+4=4(n+1),于是4个凑一组,按余数进行讨论即可,code略

I

签到

#include<bits/stdc++.h>
using namespace std;
int n;
long long ans;
char s[100007];
map<pair<int,int>,int>mp;
int main()
{
    int T;scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        scanf("%s",s+1);
        mp.clear();
        int x=0,y=0;
        ans=0;
        mp[make_pair(0,0)]=1;
        for(int i=1;i<=n;i++)
        {
            if(s[i]==\'U\')x++;else if(s[i]==\'D\')x--;
            else if(s[i]==\'L\')y++;else y--;
            ans+=mp[make_pair(x,y)];
            ++mp[make_pair(x,y)];
        }
        printf("%lld\\n",ans);
    }
}

L

天真的以为2e6能用log过,说白了是自己太天真……

实际上一开始想的思路是正确的但是绕了好大一个弯子。

答案单调不减显而易见,很容易发现每次记录每个模数取模后的最小值,这样大概是一个log……

然后最开始发现的答案大概是n/maxp的结论就可以用了,枚举值即可,复杂度就是O(n)

#include<cstdio>
#include<algorithm>
const int N=2e6+7,M=2e5+7;
typedef unsigned long long ull;
int n,m,p[M],a[N];
ull pw[N];
int main()
{
    pw[0]=1;for(int i=1;i<=2e6;i++)pw[i]=pw[i-1]*23333;
    int T;scanf("%d",&T);
    while(T--)
    {
        ull ans=0,lcm=1;
        int mx=1;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=m;i++)
        {
            scanf("%d",&p[i]);
            mx=std::max(mx,p[i]);
            if(lcm<=n)lcm*=p[i];
        }
        for(int i=1;i<mx;i++)a[i]=1;
        for(int i=mx;i<=n;i++)a[i]=0;
        for(int v=2,l,r=mx-1;r<=n;v++)
        {
            l=r+1;
            int nr=0;
            for(int i=1;i<=m;i++)nr=std::max(nr,r/p[i]*p[i]+p[i]-1);
            if(nr<l)break;
            for(int i=l;i<=nr&&i<=n;i++)a[i]=v;
            r=nr;
        }
        for(int i=1;i<=n;i++)ans+=a[i]*pw[n-i];
        printf("%llu\\n",ans);
    }
}

持续更新中……

以上是关于2021CCPC网络选拔赛题解的主要内容,如果未能解决你的问题,请参考以下文章

赛后总结+部分题解2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛

CCPC网络赛2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛) 签到题5题

2021CCPC网络选拔赛

2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛) Jumping Monkey(并查集,逆向考虑)

2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛) Jumping Monkey(并查集,逆向考虑)

ccpc 2019网络选拔赛