当前位置: 首页 > 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;
}

http://www.dtcms.com/a/38457.html

相关文章:

  • 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 运行项目加载很慢,优化方法
  • Golang适配达梦数据库连接指定模式
  • 第十章:服务器消费者管理模块
  • 基于Springboot的游戏分享网站【附源码】
  • Java如何解决彻底解决,大数据量excel导出内存溢出问题
  • 【前端】页面结构管理
  • C# 打印Word文档 – 4种打印方法
  • 知识管理接入DeepSeek大模型,能够带来什么新体验?
  • 人工智能的无声基石:被低估的数据革命
  • ubuntu 安全策略(等保)
  • 最新Java面试题,常见面试题及答案汇总