• K-优字符串(冬季每日一题 11)


    Charles 将一个字符串的优良分数定义为,在 1 ≤ i ≤ N / 2 1≤i≤N/2 1iN/2 的范围内,满足 S i ≠ S N − i + 1 S_i≠S_{N−i+1} Si=SNi+1 i i i 的数量(索引从 1 1 1 开始)。

    例如,字符串 C A B A B C CABABC CABABC 的优良分数为 2 2 2,因为 S 2 ≠ S 5 S_2≠S_5 S2=S5 并且 S 3 ≠ S 4 S_3≠S_4 S3=S4

    Charles 给了 A d a Ada Ada 一个长度为 N N N 的由大写字母构成的字符串 S S S,并让她将其转换为一个优良分数为 K K K 的字符串。

    每次操作, A d a Ada Ada 都可以将字符串中的任意一个字符转换为任意一个大写字母。

    请你帮助 A d a Ada Ada 确定,将给定字符串 S S S 转换为优良分数为 K K K 的字符串,所需要的最少操作次数。

    输入格式
    第一行包含整数 T T T,表示共有 T T T 组测试数据。

    每组数据第一行包含两个整数 N N N K K K

    第二行包含一个长度为 N N N 的由大写字母构成的字符串 S S S

    输出格式
    每组数据输出一个结果,每个结果占一行。

    结果表示为 Case #x: y,其中 x x x 为组别编号(从 1 1 1 开始), y y y 为所需最少操作次数。

    数据范围
    全部数据: 1 ≤ T ≤ 100 , 0 ≤ K ≤ N / 2 。 1≤T≤100,0≤K≤N/2。 1T1000KN/2
    测试点 1 1 1 (小数据测试点): 1 ≤ N ≤ 100 。 1≤N≤100。 1N100
    测试点 2 2 2 (大数据测试点):最多不超过 10 10 10 组数据满足, 1 ≤ N ≤ 2 × 1 0 5 1≤N≤2×10^5 1N2×105,其余数据满足, 1 ≤ N ≤ 100 1≤N≤100 1N100

    输入样例:

    2
    5 1
    ABCAA
    4 2
    ABAA
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输出样例:

    Case #1: 0
    Case #2: 1
    
    • 1
    • 2

    样例解释
    对于测试数据 1 1 1,给定字符串的优良分数刚好为 1 1 1,所以不需要任何操作。

    对于测试数据 2 2 2,将索引 1 1 1 处的字符改为 B B B 即可。


    #include
    
    using namespace std;
    
    int main(){
        
        int t;
        cin >> t;
        
        string s;
        int n, k;
        for(int id = 1; id <= t; id++){
            
            cin >> n >> k >> s;
            int cnt = 0;
            for(int i = 0; i < n / 2; i++)
                if(s[i] != s[n-i-1])
                    cnt++;
            
            printf("Case #%d: %d\n", id, abs(cnt - k));
        }
        
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    一文读懂ChatGPT模型原理
    Wi-Fi连接握手包抓包
    增加Linux用户
    pringboot面向爱宠人群的宠物资讯系统36as8计算机毕业设计-课程设计-期末作业-毕设程序代做
    数据结构与算法之 leetcode 47. 全排列 II (回溯)
    【Unity】Unity坑的集锦之RenderTexture打包黑屏
    JavaScript知识系列(5)每天10个小知识点
    keycloak~对接login-status-iframe页面判断用户状态变更
    同事:这个页面的逻辑没什么能复用的,不抽组件也没什么影响吧?
    (一)TinyWebServer的环境配置与运行
  • 原文地址:https://blog.csdn.net/qq_46456049/article/details/127928851