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

蓝桥杯C++AB算法辅导

文章目录

  • 1.1 教学计划与递归
    • 92. 递归实现指数型枚举
    • 94. 递归实现排列型枚举
    • 717. 简单斐波那契
    • 95. 费解的开关
  • 1.2 递推与递归——习题课
    • 93. 递归实现组合型枚举
    • 1209. 带分数
    • 116. 飞行员兄弟
    • 1208. 翻硬币
  • 2.1 二分与前缀和
  • 2.2 二分与前缀和——习题课
  • 3.1 数学与简单DP
  • 3.2 数学与简单DP——习题课
  • 4.1 枚举、模拟与排序
  • 4.2 枚举、模拟与排序——习题课
  • 5.1 树状数组和线段树
  • 5.2 树状数组和线段树——习题课
  • 6.1 双指针、BFS和图论
  • 6.2 双指针、BFS和图论——习题课
  • 7.1 贪心
  • 7.2 贪心——习题课
  • 8.1 数论
  • 8.2 数论——习题课
  • 9.1 复杂DP
  • 9.2 复杂DP——习题课
  • 10.1 疑难杂题
  • 10.2 疑难杂题——习题课
  • 11 第十一届蓝桥杯省赛C++B组真题(7月)
  • 12 第十二届蓝桥杯省赛C++B组真题(4月)
  • 13 第十三届蓝桥杯C++ B组真题

1.1 教学计划与递归

在这里插入图片描述

92. 递归实现指数型枚举

94. 递归实现排列型枚举

在这里插入图片描述

全排列满足字典序最小,根据递归第一轮满足字典序最小之后也最小

全排列:dfs基础

#include<iostream>

using namespace std;

const int N = 10;
int path[N];
bool st[N];
int n;
void dfs(int u)//当前位u
{
    if(u == n)
    {
        for(int i = 0;i < n;i++)printf("%d ",path[i]);
        puts("");
    }
    
    for(int i = 1;i <= n;i++)
    {
        if(!st[i])
        {
            st[i] = true;
            path[u] = i;
            dfs(u + 1);
            path[u] = 0;//恢复现场,但其实path因为会被覆盖,所以这步可以省略【简单理解:全排列枚举所有结果就要恢复现场】
            st[i] =false;
        }
    }
}

int main()
{
    
    cin >> n;
    
    dfs(0);
        
    return 0;
}

717. 简单斐波那契

存储Fib版

#include<iostream>
using namespace std;

const int N = 50;
int f[N];
int n;
int main()
{
    cin >> n;
    f[1] = 0 ,f[2] = 1;//下标从1开始 (也可以从0开始)
    for(int i = 3;i <= n;i++)f[i] = f[i - 1] + f[i - 2];
    
    for(int i = 1 ;i <= n;i ++)printf("%d ",f[i]);
    
    return 0;
}

不开数组版:滚动数组 - dp雏形
注意Fib当n超过46就需要开高精度了



#include<stdio.h>
typedef long long LL;
LL n,a = 0, b = 1, c;//a第一项,b第二项,下一项c = a + b , a,b位置再往后移动
int main()
{
    scanf("%d",&n);
    while(n--)
    {
        printf("%d ",a); //a每轮表示第i项  从1开始
        c=a+b;
        a=b,b=c;
    }
}

95. 费解的开关

1.2 递推与递归——习题课

93. 递归实现组合型枚举

在这里插入图片描述

1209. 带分数

116. 飞行员兄弟

1208. 翻硬币

初始状态变化到目标状态 :常用BFS
仅限定一次翻转即为最优解

#include <cstring>
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 110;

int n;
char start[N], aim[N]; //记录初始 -->目标状态  ,【不能用end 或 y : 库函数重名】


void turn(int i)
{
    if (start[i] == '*') start[i] = 'o';
    else start[i] = '*';
}

int main()
{
    cin >> start >> aim;//输入字符串 [一维char数组]
    n = strlen(start);//char数组长度

    int res = 0;
    for (int i = 0; i < n - 1; i ++ )//翻转到倒二个,包含倒一
        if (start[i] != aim[i])
        {
            turn(i), turn(i + 1);//依题意翻转
            res ++ ;//翻转次数
        }

    cout << res << endl;
    return 0;
}

2.1 二分与前缀和

2.2 二分与前缀和——习题课

3.1 数学与简单DP

3.2 数学与简单DP——习题课

4.1 枚举、模拟与排序

4.2 枚举、模拟与排序——习题课

5.1 树状数组和线段树

5.2 树状数组和线段树——习题课

6.1 双指针、BFS和图论

6.2 双指针、BFS和图论——习题课

7.1 贪心

7.2 贪心——习题课

8.1 数论

8.2 数论——习题课

9.1 复杂DP

9.2 复杂DP——习题课

10.1 疑难杂题

10.2 疑难杂题——习题课

11 第十一届蓝桥杯省赛C++B组真题(7月)

12 第十二届蓝桥杯省赛C++B组真题(4月)

13 第十三届蓝桥杯C++ B组真题

相关文章:

  • matplotlib设置x轴和y轴 设置
  • MiniFly V1.1开源四轴驱动代码分析八:旋转矩阵、控制分配矩阵等分析介绍
  • 【云原生 | 从零开始学Kubernetes】二十五、kubectl深入理解
  • 策略模式的java实现-实际应用场景进阶版
  • [计算机通信网络]以太网的帧格式详解
  • [图像识别]10.OpenCV的特征点检测 SIFT和SURF算法
  • 牛客网专项练习30天Pytnon篇第02天
  • Controller部分
  • Lambda表达式与Stream API
  • Python语言程序设计 习题5
  • 分享制作Docker镜像的两种方式
  • MySQL表的约束
  • Axios源码仿写与二次封装
  • PHP学习笔记(才贯二酉)
  • 基于Springboot+vue的电影院管理系统(Java毕业设计)
  • hexo+github搭建个人博客
  • django开发-定时任务的使用
  • HTTP中GET与POST的区别 99%的错误认识
  • Making An Indicator With Pure CSS
  • Material Design
  • SpriteKit 技巧之添加背景图片
  • 从零开始学习部署
  • 大型网站性能监测、分析与优化常见问题QA
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 记录一下第一次使用npm
  • 聊聊flink的BlobWriter
  • 我是如何设计 Upload 上传组件的
  • 一天一个设计模式之JS实现——适配器模式
  • 2017年360最后一道编程题
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #ifdef 的技巧用法
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二十四)Flask之flask-session组件
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分布式缓存)Redis持久化
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (新)网络工程师考点串讲与真题详解
  • (转)Sql Server 保留几位小数的两种做法
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net MySql
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NetCore项目nginx发布
  • /boot 内存空间不够
  • @EventListener注解使用说明
  • [ Linux ] Linux信号概述 信号的产生
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ANT] 项目中应用ANT