• LeetCode79.单词搜索 DFS+剪枝

    解题思路 DFS+剪枝 刚开始做的时候没有进行剪枝,只是暴力DFS,时间1400ms非常糟糕 进DFS前,进行一次剪枝,枚举到word第一个字符时进DFS并在book数组内记录已经访问。 递归结束后记得把访问标记取消 for(int i =

    2022-4-19
    84 0 0
  • 搜索剪枝

    目录什么是剪枝 几种常见的剪枝 1.可行性剪枝 2.排除等效冗余 3.最优性剪枝 4.顺序剪枝 5.记忆化 运用实例 1.选数 2.吃奶酪 3.小木棍什么是剪枝 剪枝:通过某种判断,避免一些不必要的遍历过程。搜索的时间复杂度通常很大

    2022-4-19
    63 0 0
  • 整数分解为若干项之和

    将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。 输入格式: 每个输入包含一个测试用例,即正整数N (0<N≤30)。 输出格式: 按递增顺序

    2022-4-19
    67 0 0
  • 常用的递归算法:dfs(深度优先搜索),记忆化搜索,分治

    递归值函数调用自身;一、DFS的介绍概念很简单,但是还是得了解一下,下面介绍的内容是重点 1. 图的DFS (1)先看一下vector是怎么建图的? vector vecMap[100010]; n条边(这个结点所连接的结点)

    2022-4-14
    57 0 0
  • 深搜广搜简单题目总结

    目录         深搜(DFS):                 1.寻找路径                 2.求连通块         广搜(BFS):                  求最短路径         总结知识

    2022-4-11
    57 0 0
  • 全排列—dfs(递归算法)

    1.dfs全排列深度优先算法思路导图  此图来自AC中的Hasity作者,万分感谢;2.dfs递归思想 dfs就是一条路走到头,当无法再往下走时就往上退一步,再看有没有路可以走,如果还没有路的话就再回退一步,重复这个步骤,直到找到可

    2022-4-11
    76 0 0
  • 蓝桥杯-糖果(python,dfs,状态压缩和动态规划)

    目录 一、题目二、思路和代码2.1 bfs+小根堆+状态压缩(60)2.2dfs(40)2.3状态压缩和dp(10分)一、题目 题目 2302: 蓝桥杯2019年第十届省赛真题-糖果 时间限制: 1Sec 内存限制: 128MB 提

    2022-4-9
    92 0 0
  • 蓝桥杯省赛a组H.走方格(C++)题解dfs暴力搜索解法

    G.走方格#includeusing namespace std;int book[31][31]={0};这个数组用来标记int n,m;n是行数,m是列数int icount;icount是计数器void dfs(int

    2022-4-9
    65 0 0
  • 第十二届蓝桥杯省赛第一场C++AC组 「左海子右兄弟」

    左孩子右兄弟 题目描述: 对于一棵多叉树,我们可以通过 “左孩子右兄弟” 表示法,将其转化成一棵二叉树。如果我们认为每个结点的子结点是无序的,那么得到的二叉树可能不唯一。换句话说,每个结点可以选任意子结点作为左孩子,并按任意顺序连接右兄

    2022-4-9
    104 0 0
  • ★递归递推★

    ------------------------------------------------------------------------------------------------------------------------

    2022-4-6
    54 0 0
  • 蓝桥杯真题 多叉树转为二叉树 C++实现

    每棵树最大可能形成的高度为其最深子树的高度(根节点高度为0)+其孩子的数量#include#includeusing namespace std;const int N = 1e5 + 10;vector g[N];int dfs(in

    2022-4-6
    79 0 0