首页 > 其他分享 >第二次比赛出题题解

第二次比赛出题题解

时间:2023-07-22 19:00:16浏览次数:37  
标签:cout int 题解 cin 出题 luogu using include 比赛

第二次比赛题解

P1138 第 k 小整数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

主要了解set的用法,set会自动去重和排序

#include <bits/stdc++.h>

using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n,k;
    cin >> n >> k;
    set<int> s;
    for(int i = 0, x ;i < n;i ++){
        cin >> x;
        s.insert(x);
    }
    if(k > s.size())
        cout << "NO RESULT" << endl;
    else{
        for(auto i : s){
            k--;
            if(k == 0){
                cout << i << endl;
                break;
            }
        }
    }


    return 0;
}

P9044 Koszulki - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

其实就是从大到小排个序之后看第k个人和后面是不是一样的,我这里从小到大排序,从后遍历也是一样的

#include <bits/stdc++.h>

using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n,k;
    cin >> n >> k ;
    vector<int> a(n);
    for(auto &i : a) cin >> i;

    sort(a.begin(),a.end());

    int ans = 0;
    for(int i = n - k - 1;i >= 0;i --){
        if(a[i] == a[i + 1])
            ans ++;
        else
            break;
    }

    cout << ans + k << endl;

    return 0;
}

P2788 数学1(math1)- 加减算式 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

每一项都保证是正数,就不用考虑第一个数的正负性,其余跟着模拟就行

#include <bits/stdc++.h>

using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    string s;
    cin >> s;

    int ans = 0;
    char op = '?';
    for(int i = 0;i < s.size();i ++){

        int num = 0;
        while(s[i] >= '0' && s[i] <= '9'){
            num  = num * 10 + s[i] - '0';
            i++;
        }

        if(op == '-')
            ans -= num;
        else
            ans += num;

        op = s[i];
    }
    cout << ans << endl;
    return 0;
}

P2084 进制转换 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

注意+号的判断

#include <bits/stdc++.h>

using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    string s;
    cin >> n >> s;

    int one = 0;
    for(int i = 0;i < s.size();i ++)
        if(s[i] != '0')
            one ++;

    for(int i = 0;i < s.size();i ++){
        if(s[i] != '0'){
            cout << s[i] << '*' << n << '^' << s.size() - i - 1;
            one--;
            if(one > 0)
                cout << '+';
        }
    }

    return 0;
}

B3642 二叉树的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

作业题的一个变型题,也怪我,当时鼠标没电了,只是用白板来展示这个遍历不好理解

#include <bits/stdc++.h>

using namespace std;

const int N = 1e6 + 10;

struct Node{
    int root;
    int left,right;
};
vector<Node> tree(N);
void traversal1(int x){

    if(x == 0 ) return;
    cout << x << ' ';
    traversal1(tree[x].left);
    traversal1(tree[x].right);
};
void traversal2(int x){

    if(x == 0) return;
    traversal2(tree[x].left);
    cout << x << ' ';
    traversal2(tree[x].right);
};
void traversal3(int x){

    if(x == 0) return;
    traversal3(tree[x].left);
    traversal3(tree[x].right);
    cout << x << ' ';
};
int main() {

    int n;
    cin >> n;

    for(int i = 1;i <= n;i ++){
        int x,y;
        cin >> x >> y ;
        tree[i].left = x;
        tree[i].right = y;
        tree[x].root = tree[y].root = i;
    }

    traversal1(1);
    cout << endl;
    traversal2(1);
    cout << endl;
    traversal3(1);

    return 0;
}

B2001 入门测试题目 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

签到题,注意开long long

#include <bits/stdc++.h>

using namespace std;

int main() {

   long long a,b;
   cin >> a >> b;
   cout << a + b << endl;

    return 0;
}

标签:cout,int,题解,cin,出题,luogu,using,include,比赛
From: https://www.cnblogs.com/Kescholar/p/17574000.html

相关文章

  • P1060 [NOIP2006 普及组] 开心的金明 题解
    思路01背包模版题,唯一不同的是加了一个条件就是价格与重要度的乘积。转移方程为:dp[j]=max(dp[j],dp[j-w[i]]+w[i]*v[i]);这里加了滚动数组优化。代码#include<bits/stdc++.h>#definelllonglong#defineldlongdoubleusingnamespacestd;inlinevoidread(int&x){......
  • 【大联盟】20230626 集查并(dsu) 题解 AT_toyota2023spring_final_g 【Git Gud】
    【大联盟】20230626集查并(dsu)题解AT_toyota2023spring_final_g【GitGud】zyx/bx题目描述here题解由于这场出了T2、验了T3(顺序是反的),所以赛时一直在想这个题,不过很遗憾不会。相当有意思的题。考虑合并两个点\(x,y\)时,对以后产生的贡献为\(\max\{f_x,f_y\}\),\(f_x......
  • JOI2013 JOIOI の塔 (Tower of JOIOI)题解
    Description给定一个由J、O、I组成的字符串,求最多能拆分成多少JOI或IOI。对于所有数据,\(1\leq\vertS\vert\leq10^6\)。Solution先处理出\(\text{pre}_i\)为前缀J和I的数量,即能组成多少个头部。然后倒着做,维护当前拼出的I、OI和最终成品的数量。遇到J、O就......
  • 【大联盟】20230703 T2 开心的序列(sequence) 题解 AT_agc049_f 【[AGC049F] Happy Sequ
    zak/bx恐怖zak将这题加强,出到模拟赛。直接把\(A_i,B_i\le10^5,C_i\le5\)变成了\(A_i,B_i,C_i\le10^9\)。非常恐怖。题目描述点击膜拜zhoukangyang。题解重新再理解一遍。我们维护\(p(x)=\sum_i|a_i-x|+|b_i-x|\),那么就相当于要求\(\forallx,p(x)\le0\),也就......
  • Luogu P4552 [Poetize6] IncDec Sequence 更好的题解
    原题链接第一步对于学过差分的人应该不难想定义差分数组$dis\quads.t.\quaddis[i]=a[i]-a[i-1]$那么不难发现问题一只要让\(dis[2]...dis[n]\)中全部为\(0\)即可区间\([l,r]\)加一操作在差分数组中意味着\(dis[l]=dis[l]+1,dis[r+1]=dis[r+1]-1\)即在差分数组......
  • 2023 暑假集训模拟赛题解
    目录CSP模拟1CSP模拟2FSYOCSP模拟1来自学长的馈赠2.CSP模拟2F考虑\(x\)只能在\(a_1\oplusb_i\)里选,那么分别代入暴力检验即可.时间复杂度\(\tilde\Theta(n^2)\),可以通过.S考虑交换同色的部分一定不优,所以同色字符的相对位置一定是不变的.那么操作序列......
  • 幽灵乐团 题解
    幽灵乐团题目大意\(T\)组数据,每组数据给定\(A,B,C\),求:\[\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C\Big(\frac{\text{lcm}(i,j)}{\gcd(i,k)}\Big)^{f(type)}\bmodp\]其中,\(type\in\{0,1,2\}\),\(f(0)=1,f(1)=i\timesj\timesk,f(2)=\gcd(i,j,k)\)。思路分析神经污......
  • 【问题解决】docker版本v23.0后,构建Dockerfile中FROM私库镜像报错构建失败
    问题情况Docker版本在v23.0以后,只要Dockerfile中FROM的私库镜像不存在本地,就会报错:#我本地是v24.0.2版本Docker[root@localhostipd]#dockerbuild.-tharbor.xxx.com.cn/test/bap:2.7.1[+]Building0.6s(3/3)FINISHED......
  • P9352 题解
    problem&blog。HerryHuang的DP专题中最喜欢的一题,抢第一篇题解/fendou。关于题意:只有往猫那里扔路障,猫才会动,否则只会原地坐牢。猫如果要走动,是一下子走到最高点,而不是慢慢挪动。假设猫在\(u\)点。现在往\(u\)扔路障,猫会跑去最高点,然后他无法返回到\(u\)的其他子......
  • SP12304 题解
    原题链接|题解链接本篇题解为此题最较简单做法及最较少码量,并且码风优良,请放心阅读。题目简述当\(i\)的所有正因数和\(=\)\(n\)时,其中\(i\)的最小值。思路首先需要完成求一个数的所有正因数之和的函数\(f(n)\)。要求此函数可返回传入参数的所有正因数之和,那么......