首页 > 其他分享 >牛客周赛63部分题解

牛客周赛63部分题解

时间:2024-10-14 21:47:16浏览次数:10  
标签:int 题解 ll namespace long 牛客 63 solve define

比赛地址:牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)


A.小红的好数

#include<bits/stdc++.h>
using namespace std;
#define ll long long  
#define ull unsigned long long

void solve() {
    ll n;
    cin>>n;
    if(n>=10&&n<=99)
    {
        if(n%10==n/10)
        {
            cout<<"Yes";
            return;
        }
    }
    cout<<"No";
} 

signed main() {
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);

    ll t = 1; 
    // std::cin >> t;
    while (t--) {
        solve();
    }
}


B.小红的好数组

#include<bits/stdc++.h>
using namespace std;
#define ll long long  
#define ull unsigned long long

void solve() {
    ll n,m;
    cin>>n>>m;
    int num[n+10];
    for(int i=1;i<=n;i++)
    {
        cin>>num[i];
    }
    int i,j;
    int good_num=0;
    int error1;
    if(m%2)
    {
        i=(m/2)+1;
        j=m/2;
        for(;i<=n-j;i++)
        {
            error1=0;
            for(int a1=1;a1<=j;a1++)
            {
                if(num[i-a1]!=num[i+a1])
                {
                    error1++;
                }
            }
            if(error1==1)
            {
                good_num++;
            }
        }
    }
    else
    {
        i=m/2;
        j=m/2;
        for(;i<=n-j;i++)
        {
            error1=0;
            for(int a1=1;a1<=j;a1++)
            {
                if(num[i-a1+1]!=num[i+a1])
                {
                    error1++;
                }
            }
            if(error1==1)
            {
                good_num++;
            }
        }
    }
    cout<<good_num;
} 

signed main() {
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);

    ll t = 1; 
    // std::cin >> t;
    while (t--) {
        solve();
    }
}


C.小红的矩阵行走

#include<bits/stdc++.h>
using namespace std;
#define ll long long  
#define ull unsigned long long
int ssr[1001][1001];
ll n,m;
int key;
void dfs(int i,int j,int num)
{
    if(i>n||i<=0||j>m||j<=0)
    {
        return;
    }
    if(i==n&&j==m&&key==1)
    {
        key=0;
        cout<<"Yes"<<endl;
    }
    if(ssr[i+1][j]==num)
    {
        dfs(i+1,j,num);
    }
    if(ssr[i][j+1]==num)
    {
        dfs(i,j+1,num);
    }
}
void solve() {
    cin>>n>>m;
    key=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>ssr[i][j];
        }
    }
    dfs(1,1,ssr[n][m]);
    if(key)
    {
        cout<<"No"<<endl;
    }
} 

signed main() {
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);
    ll t = 1; 
    cin >> t;
    while (t--) {
        solve();
    }
}


D.小红的行列式构造

#include<bits/stdc++.h>
using namespace std;
#define ll long long  
#define ull unsigned long long

void solve(ll x) {
    ll a,b,c;
    if (x > 0) {
        a = x + 5; 
        b = 1;
        c = 2;
        cout << a << " -1 -1\n"
        << "-1 " << b << " -1\n"
        << "-1 -1 " << c;
    } else if (x < 0) {
        a = x-5;
        b = -1;
        c = -2;
        cout << a << " 1 1\n"
        << "1 " << b << " 1\n"
        << "1 1 " << c;
    } else { 
        cout <<"1 1 1\n"
         <<"1 1 1\n"
         <<"1 1 1\n";
    }
    
}

signed main() {
    ios::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);

    ll x;
    cin >> x;
    
    solve(x);
    
    return 0;
}

 

 

标签:int,题解,ll,namespace,long,牛客,63,solve,define
From: https://blog.csdn.net/song0789/article/details/142929690

相关文章

  • [ABC213G] Connectivity 2 题解
    好好好。我们设当前处理\(i\)的答案,那么最后的图就可以分成两个部分:\(1\)所在的联通块和其他,根据乘法原理,答案就是它们二者方案的乘积。设\(f_s\)表示集合\(s\)中所有点联通时图的情况数,\(g_s\)表示集合\(s\)中所有点不一定联通时图的情况数,则有:\[ans_i=\sum\limits......
  • 洛谷P1638逛画展
    逛画展题目链接题目描述博览馆正在展出由世上最佳的\(m\)位画家所画的图画。游客在购买门票时必须说明两个数字,\(a\)和\(b\),代表他要看展览中的第\(a\)幅至第\(b\)幅画(包含\(a,b\))之间的所有图画,而门票的价钱就是一张图画一元。Sept希望入场后可以看到所有名师的图......
  • 2024牛客暑期多校训练营4 - J. Zero (究极卡常)
    \(O(N^2)\)AC。输入后预处理?数量的前缀和。双层循环找所有的区间\([l,r]\)使区间内没有\(0\),找到以后直接用逆元+快速幂求\(\frac{(r-l+1)^k}{2^{sum_{r}-sum_{l-1}}}\),最后累加和。因为数据过水,这样已经能AC了。#include<cstdio>usingnamespacestd;constint......
  • 牛客周赛 Round 63
    总体思路:        A签到、B小思维、Cbfs(),注意需要和初始位置的值相同、D数学(找规律)E,F待补,比赛时打的暴力 A代码:#include<bits/stdc++.h>usingnamespacestd;stringa;intmain(){  cin>>a;  if(a.size()!=2)  {    cout<......
  • 题解:P11132 【MX-X5-T4】「GFOI Round 1」epitaxy
    ProblemLink【MX-X5-T4】「GFOIRound1」epitaxy题目描述给你两个正整数\(n,m\)。定义一个\(1\simn\)的排列\(p\)的价值为所有的\(n-m+1\)个长度为\(m\)的连续子串内最大值的最大公因数。(规定单个数的最大公因数为其自身。)请你求出一个在所有\(1\simn\)......
  • 题解:P9137 [THUPC 2023 初赛] 速战速决
    ProblemLink[THUPC2023初赛]速战速决题目描述题意清晰,不再过多赘述。Solution每张不同的卡是等效的。小\(J\)手上的卡牌只有\(2\)种情况:手上没有相同的牌和有相同的牌。情况\(1\):小\(J\)手上的牌等价于\(1\simn\)(但其实没用),令其手上的牌为\(b_1,b_2,\ldo......
  • 题解:P6299 差别
    ProblemLink差别题目描述给定\(a,b,c,d\),求\(p,q,r,s\)使得\(M\)成为非零最小值。Solution\(M\)的表达式很复杂,把式子拆开有\(16\)个\(4\)次项,不难发现这是一个平方和,不断套平方和公式,最后化简成:\[M=|(ap+bq+cr-ds)^2+(-aq+bp+cs+dr)^2|=((a+bi)\times(......
  • 题解:P9743 「KDOI-06-J」旅行
    ProblemLink「KDOI-06-J」旅行题意题目讲的很清楚,不再过多赘述。Solution不难想到\(O(n^2\timesm^2\timesk)\)的做法:定义\(f_{i,j,val,x,y}\)为当前在\((x,y)\)的位置,花费\(val\)元,手上有\(x\)张\(L\)公司的票,\(y\)张\(Z\)公司的票的方案数,至于空间问题......
  • 题解:P1709 [USACO5.5] 隐藏口令 Hidden Password
    ProblemLink[USACO5.5]隐藏口令HiddenPassword题目描述求最小表示法的开头字母在原字符串的位置。Solution最小表示法板子,双指针解决即可。Code#include<iostream>#include<algorithm>#include<string.h>#include<cstring>#include<cmath>#include<cstdio>......
  • [PA2021] Od deski do deski 题解
    好题好题,难者不会会者不难,我是前者。实际上加入就可以合法的数是很好计算的。考虑现在所有前缀合法串后的字符实际上都可以满足条件。容易想到根据是否合法设置状态。设\(f_{i,j}/g_{i,j}\)表示现在填第\(i\)个数,有\(j\)个填了就合法的数,现在的串合法/不合法。那么有转......