【牛客训练记录】牛客周赛 Round 79

训练情况

赛后反思

参加了内测,赛时打不了,这个D题思路简单,实现太难了

A题

直接 \([x,2x]\) 区间内暴力判质数

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

bool pd(int x){
    if(x == 1) return false;
    for(int i = 2;i*i<=x;i++){
        if(x % i == 0) return true;
    }
    return false;
}

void solve(){
    int x; cin>>x;
    for(int i = x;i<=2*x;i++){
        if(pd(i)){
            cout<<i<<endl;
            return;
        }
    }
    cout<<-1<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

B题

每次只能随机选择相邻的两个球,要操作最小,只能两个两个球中间空一格,注意一下除三剩下两个还可以再填,操作最大就两个两个紧挨着

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

void solve(){
    int x; cin>>x;
    cout<<x/3+((x%3==2)?1:0)<<" "<<x/2<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

C题

我们注意到有两种不同的简单路径,一种是差不多 ^ 这种形状的路径,还有一种 | 直着下来的四种不同的路径,所以 ^ 这种路径,就是深度 -1 的二叉树节点个数,即有 \(2^{x-1} - 1\) 种,| 直着下来的对于深度最深和次深的节点不存在,其余节点都存在,即 \(2^x - 1 - 2^{x-1} - 2^{x-2}\) 个节点,乘 \(4\) 就是路径数,注意一下负数取模的问题即可

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int mod = 1e9 + 7;

int qpow(int a,int b){
    int x = a;
    int y = b;
    int ans = 1;
    while(y){
        if(y&1){
            ans*=x;
            ans%=mod;
        }
        x*=x;
        x%=mod;
        y>>=1;
    }
    return ans;
}

int jian(int a,int b){
    return ((a%mod) - (b%mod) + mod) % mod;
}

void solve(){
    int x; cin>>x;
    if(x == 1){
        cout<<0<<endl;
        return;
    }
    int n = jian(qpow(2,x),1);
    int a = qpow(2,x-1);
    int b = jian(n,a);
    b = jian(b,qpow(2,x-2));
    int ans = 0;
    ans += b*4;
    ans%=mod;
    ans += qpow(2,x-1) - 1;
    ans%=mod;
    while(ans<0) ans += mod;
    cout<<ans<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

D题

我们发现对于区间 \([x,2x]\),对于大于两位的数,最高位一定会加上一个 \(1\),所以我们剩下位置都补零,然后去凑数位和为质数,注意下最高位是 \(9\) 的情况要变成 \(10\)

代码实现略

posted @ 2025-02-02 21:00  MNNUACM_2024ZY  阅读(49)  评论(0)    收藏  举报