当前位置: 首页 > news >正文

Day8 蓝桥杯acw讲解

首先先给大家看一道这个题,

 我真的是太喜欢y总了,如果大家也是最近在准备蓝桥杯或者计算机相关的比赛,但是得加一个前提就是必须最好基础真的很好,要不然其实买了课,也没啥太大的用处,其实就可以以我本人举例子,其实我记得我刚开始的时候其实我真的就觉得我自己不适合听这个的课,后来我开始去学习了算法,有用,但是又没有那么很有用,然后我呢,就觉得那这样我就再去看看acw吧,结果真的很意外,我发现我自己开始渐渐的能听懂了,✌,开心,所以可能学习这个东西就是一个循序渐进的过程,啥时候都不能着急!!!

我觉得这道题非常的活,但是一定要找到每个题的题眼,其实有的时候别老太单纯就只是那么想,可以灵活变通一下!!!

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 20010;
bool st[26][26];
char s[N];
int cnt[26][26];
int n, m;

void updata(int l, int r, int v)
{
    l = max(0, l);
    r = min(r, n - 1);
    for (int i = l; i + 2 <= r; i++)
    {
        char a = s[i], b = s[i + 1], c = s[i + 2];
        if (a != b && b == c)
        {
            cnt[a][b] += v;
            if (cnt[a][b] >= m)
            {
                st[a][b] = true;
            }
        }
    }
}

int main()
{
    cin >> n >> m >> s;
    for (int i = 0; i < n; i++)
    {
        s[i] = s[i] - 'a';  // 将字符转化为数字
    }
    updata(0, n - 1, 1);

    for (int i = 0; i < n; i++)
    {
        char q = s[i];
        updata(i - 2, i + 2, -1);
        for (int p = 0; p < 26; p++)
        {
            if (p != q)
            {
                s[i] = p;
                updata(i - 2, i + 2, 1);
                updata(i - 2, i + 2, -1);
            }
        }
        s[i] = q;
        updata(i - 2, i + 2, 1);
    }

    int res = 0;
    for (int i = 0; i < 26; i++)
    {
        for (int j = 0; j < 26; j++)
        {
            if (st[i][j])
            {
                res++;
            }
        }
    }
    cout << res << endl;
    for (int i = 0; i < 26; i++)
    {
        for (int j = 0; j < 26; j++)
        {
            if (st[i][j])
            {
                cout << (char)(i + 'a') << (char)(j + 'a') << (char)(j + 'a') << endl;
            }
        }
    }

    return 0;
}

相关文章:

  • Rust 驱动的 Python 工具革命:Ruff 和 uv 与传统工具的对比分
  • nodejs:express + js-mdict 作为后端,vue 3 + vite 作为前端,在线查询英汉词典
  • 【由技及道】SpringBoot启动即退出的量子纠缠诊断实录【人工智障AI2077的开发问题日志】
  • JavaScript函数-函数案例
  • VScode中Markdown PDF无法正确输出包含数学公式的pdf解决方案
  • C# Combox 绑定数据
  • 详解 Spring 配置数据源的两种方式
  • 【Linux】进程控制
  • 代码审计入门学习
  • CCA社群共識聯盟正式上線
  • N皇后问题(位运算版本)
  • Tips :仿真竞争条件 指的是什么?
  • FFmpeg+vvenc实现H.266的视频编解码教程
  • SAP-ABAP:使用ST05(SQL Trace)追踪结构字段来源的步骤
  • JavaScript系列(88)--Babel 编译原理详解
  • 5秒修改文件默认打开方式-windows版
  • 蓝桥杯 Java B 组之回溯剪枝优化(N皇后、数独)
  • Milvus x DeepSeek 搭建低成本高精度 RAG 实战
  • 【部署优化篇十三】深度解析《DeepSeek API网关:Kong+Nginx配置指南》——从原理到实战的超详细手册
  • androidstudio 运行项目加载很慢,优化方法
  • 普京召开俄乌谈判筹备会议,拉夫罗夫、绍伊古等出席
  • 澎湃·镜相第二届非虚构写作大赛初选入围名单公示
  • 订婚不等于性同意!山西订婚强奸案入选最高法案例
  • 国新办将就2025年4月份国民经济运行情况举行新闻发布会
  • 外交部:反对美方人士发表不负责任谬论
  • “80后”德州市接待事务中心副主任刘巍“拟进一步使用”