ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AtCoder Beginner Contest 043 题解

2022-01-27 21:03:38  阅读:284  来源: 互联网

标签:AtCoder ABC 题目 int 题解 s1 Edit 大意 043


目录

A - Children and Candies (ABC Edit)

题目大意:

求 \(1-n\) 之和

分析:

公式 / 暴力 都可

cout << (t + 1) * t / 2 << endl;

B - Unhappy Hacking (ABC Edit)

题目大意:

给一个字符串,01表示输入,B表示退格,问最后结果

分析:

按题意模拟即可

int main (){
    IOS
    string s1, s2 = "";
    cin >> s1;
    for (int i = 0 ; i < s1.size () ; i ++){
        if (s1[i] != 'B'){
            s2 += s1[i];
        }
        else {
            if (!s2.empty()) s2.pop_back();
        }
    }
    cout << s2 << endl;
    return 0;
}

C - Be Together

题目大意:

找到 \(k\) 使得 \(\sum (a_i - k)^2\) 最大。

分析:

暴力枚举即可

int main (){
    IOS
    int n; cin >> n;
    for (int i = 1 ; i <= n ; i ++)
        cin >> a[i];

    int ans = 0x3f3f3f3f;
    for (int i = -100 ; i <= 100 ; i ++){
        int cnt = 0;
        for (int j = 1 ; j <= n ; j ++){
            cnt += (a[j] - i) * (a[j] - i);
        }
        ans = min (cnt, ans);
    }
    cout << ans << endl;
    return 0;
}

D - Unbalanced

题目大意:

题给一个字符串,找到是否存在这样字串,字串内出现次数最多字符超过字符串长度的一半。字符串长度 \(1e5\) 。

分析:

很容易发现,对于任何满足该条件的字符串都可以找到长度为 3 的同样满足条件的子串,因此存下所有字母的位置,找是否有距离小于2的即可

vector<int> a[26];
int main (){
    IOS
    string s; cin >> s;
    for (int i = 0 ;i < s.size () ; i ++){
        a[s[i] - 'a'].push_back(i);
    }
    for (int i = 0 ; i < 26 ; i ++){
        for (int j = 1 ; j < a[i].size () ; j ++){
            if (a[i][j] - a[i][j - 1] <= 2){
                cout << a[i][j - 1] + 1<< ' ' << a[i][j] + 1 << endl;
                return 0;
            }
        }
    }
    cout << -1 << ' ' << -1 << endl;
    return 0;
}

标签:AtCoder,ABC,题目,int,题解,s1,Edit,大意,043
来源: https://www.cnblogs.com/sweet-guagua/p/15851203.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有