[Atcoder Regular Contest 060] Tutorial

Posted newera

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Atcoder Regular Contest 060] Tutorial相关的知识,希望对你有一定的参考价值。

Link:

ARC060 传送门

C:

技术分享图片
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int MAXN=55;
int n,a,sum,dat[MAXN];
ll dp[MAXN][MAXN][MAXN*MAXN],res=0;

int main()
{
    scanf("%d%d",&n,&a);
    for(int i=1;i<=n;i++) scanf("%d",&dat[i]);
    
    dp[1][1][dat[1]]=1;sum=dat[1]+dat[2];
    for(int i=1;i<=n;i++) dp[i][0][0]=1;
    for(int i=2;i<=n;i++,sum+=dat[i])
        for(int j=1;j<=i;j++)
            for(int k=1;k<=sum;k++)
            {
                dp[i][j][k]=dp[i-1][j][k];
                if(k>=dat[i]) dp[i][j][k]+=dp[i-1][j-1][k-dat[i]];
            }
    
    for(int i=1;i<=n;i++) res+=dp[n][i][i*a];
    printf("%lld",res);
    return 0;
}
O(n^4)
技术分享图片
#include <bits/stdc++.h>

using namespace std;
const int MAXN=51,ZERO=2550;
typedef long long ll;
int n,a,x,cur;
ll dp[2][2*ZERO];

int main() 
{
    scanf("%d%d",&n,&a);
    dp[cur^1][ZERO]=1;
    for (int i=1;i<=n;i++,cur^=1)
    {
        scanf("%d",&x);x-=a;
        for (int j=MAXN;j+MAXN<2*ZERO;j++)
            dp[cur][j]=dp[cur^1][j]+dp[cur^1][j-x];
    }
    printf ("%lld
",dp[cur^1][ZERO]-1);
}
O(n^3)

 

D:

技术分享图片
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
ll n,s,sq;

bool check(ll b)
{
    ll ret=0,t=n;
    for(;t;t/=b) ret+=t%b;
    return (ret==s);
}

ll solve()
{
    if(s==n) return n+1; //s=1时不特殊处理 
    if(s>n) return -1;
    
    for(int i=2;i<=sq;i++)
        if(check(i)) return i;
    for(int i=sq;i;i--)  //注意枚举顺序 
        if((n-s)%i==0&&check((n-s)/i+1)) return ((n-s)/i+1);
    return -1;
}

int main()
{
    scanf("%lld%lld",&n,&s);sq=sqrt(n);
    printf("%lld",solve());
    return 0;
}
Problem D

 

E:

 

F:

 

剩下的待填……

以上是关于[Atcoder Regular Contest 060] Tutorial的主要内容,如果未能解决你的问题,请参考以下文章

AtCoder Regular Contest 098

刷题AtCoder Regular Contest 001

AtCoder Regular Contest 101

AtCoder Regular Contest 103 题解

AtCoder Regular Contest 119

[Atcoder Regular Contest 060] Tutorial