• Codeforces Round #587 (Div. 3) A. Prefixes


    链接:

    https://codeforces.com/contest/1216/problem/A

    题意:

    Nikolay got a string s of even length n, which consists only of lowercase Latin letters 'a' and 'b'. Its positions are numbered from 1 to n.

    He wants to modify his string so that every its prefix of even length has an equal amount of letters 'a' and 'b'. To achieve that, Nikolay can perform the following operation arbitrary number of times (possibly, zero): choose some position in his string and replace the letter on this position with the other letter (i.e. replace 'a' with 'b' or replace 'b' with 'a'). Nikolay can use no letters except 'a' and 'b'.

    The prefix of string s of length l (1≤l≤n) is a string s[1..l].

    For example, for the string s="abba" there are two prefixes of the even length. The first is s[1…2]="ab" and the second s[1…4]="abba". Both of them have the same number of 'a' and 'b'.

    Your task is to calculate the minimum number of operations Nikolay has to perform with the string s to modify it so that every its prefix of even length has an equal amount of letters 'a' and 'b'.

    思路:

    从开头开始每两个字符需要不同, 搞一下就行了.

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    const int MAXN = 2e5+10;
    
    int n;
    char s[MAXN];
    
    int main()
    {
        cin >> n;
        cin >> s;
        int op = 0, a = 0, b = 0;
        for (int i = 0;i < n;i+=2)
        {
            if (s[i] != s[i+1])
                continue;
            if (s[i] == 'a')
                s[i] = 'b';
            else
                s[i] = 'a';
            op++;
        }
        cout << op << endl;
        cout << s << endl;
    
        return 0;
    }
    
  • 相关阅读:
    SQL优化系列(三)- 用最少的索引获得最大的性能提升
    SQL优化系列(二)- 优化Top SQL
    SQL优化神器
    优化SQL之最快等价SQL
    ngnix反向代理导致请求头header中的信息丢失
    centos7安装docker
    (一)硬盘技术
    (四)存储行业基础知识
    (三)磁盘阵列技术
    硬盘的文件类型解释!
  • 原文地址:https://www.cnblogs.com/YDDDD/p/11622744.html
Copyright © 2020-2023  润新知