当前位置:首页 > 搜索 "递归"
2002年NOI银河英雄传说(洛谷P1196):带权并查集实战
6天前61
递归找根 dist[x] += dist[parent[x]]; // 关键:累加距离(路径压缩时维护距离) &......
牛客3747题解:二叉树序列化与反序列化完全指南
1周前 (07-12)65
递归重建:通过递归方式重建二叉树结构三、完整代码实现(带详细注释)class Solution {private: // 序列化辅助函数(前序遍历) void&nbs......
棋盘上的智慧:N皇后问题回溯解法完全指南
1周前 (07-11)62
递归探索解空间树2.冲突检测三种冲突情况需要检查:同列已有皇后左上对角线已有皇后右上对角线已有皇后三、完整代码解析class Solution {public: vector<vector<string>&......
牛客网233065题 滑雪:记忆化搜索与动态规划的完美结合
2周前 (07-10)68
递归:从当前点向四个方向探索,只向更低点移动终止条件:当无法继续下降时返回1(只包含自己)五、优化与扩展剪枝优化:可以先对高点排序,从高到低处理并行计算:独立计算不同起点的路径路径记录:修改算法可输出具体路径这个解决方案完美结合了DFS的直观性和动态规划的高效性,是处理矩阵路径类问...
分治与递归的完美结合:NOIP1998幂次方问题深度解析与代码实现
2周前 (07-10)79
递归分解函数string dfs(int n) { // 处理基本情况 if (n == 0) return&nbs......
牛客网4499题解析:折纸问题背后的二叉树原理
2周前 (07-08)70
递归建模:将每次折叠视为二叉树的生长左子树代表新产生的下折痕右子树代表新产生的上折痕中序遍历:按照"左-根-右"的顺序访问节点空间优化:直接生成结果,无需存储整个树结构三、复杂度分析时间复杂度:O(2^n)每个节点访问一次空间复杂度:O(n)递归栈深度四、完整代码class......
牛客网125题 二叉树最大路径和:利用递归解决二叉树最优路径
2周前 (07-07)76
递归计算左右子树的最大贡献值(负数则舍弃) int left = max(dfs(node->left), 0); &......
递归算法精讲:牛客13279题树的高度计算 | DFS实战教程
2周前 (07-06)81
递归深度优先搜索(DFS)的方法,提供了一种简洁高效的解决方案。二、完整代码实现(带详细注释)#include <iostream>#include <vector>#include <algorithm>using&nb......
牛客网NC67汉诺塔问题:递归算法解析(附完整C++代码)
3周前 (07-03)77
递归算法问题,源于一个古老的传说。游戏规则:一次只能移动一个圆盘大圆盘不能放在小圆盘上面所有圆盘从起始柱移动到目标柱二、算法原理采用分治思想将问题分解:将n-1个盘子从起始柱移到辅助柱(子问题)将第n个盘子从起始柱移到目标柱(直接操作)将n-1个盘子从辅助柱移到目标柱(子问题)三、关键点解析递归终止...
蓝桥杯经典真题解析:生命之树问题的树形DP解法(含完整代码实现)
3周前 (07-03)74
递归处理子节点 if (f[v] > 0) f[u] += f[v]; // 贪心:只加正贡献 &nb......
头插法实现的树结构:链表式多叉树实现指南
3周前 (07-01)75
递归遍历:深度优先遍历打印树结构二、与其他实现的优点相比传统树实现,这种头插法链表式实现有以下优势:插入高效:头插法保证子节点插入为O(1)时间内存连续:预分配节点数组减少内存碎片灵活扩展:链表结构支持动态增减子节点泛型设计:模板类支持多种数据类型索引访问:通过ID直接访问任意节...
【算法精讲】洛谷P1236 24点游戏:递归回溯解法详解与C++实现
3周前 (06-27)84
递归算法设计、运算顺序控制和回溯思想的应用,是训练计算思维和算法能力的优质题目。二、解题思路递归框架:每次选取两个数字进行运算,将结果与其他数字组合运算控制:除法需检查整除性减法保证大数减小数通过回溯尝试不同运算路径终止条件:当剩余数字为24且恰好用完3次运算时成功三、解题步骤输入处理:读取4个整数...
二叉搜索树入门指南:高效查找的数据结构实现
3周前 (06-27)87
递归深度:大量数据可能导致栈溢出三、实现步骤解析定义节点结构:创建包含数据、左指针和右指针的结构体初始化BST:创建根节点并维护节点计数器实现核心操作:插入节点:递归找到合适位置插入新节点查找节点:利用BST特性快速定位删除节点:处理三种情况(无子节点、单子节点、双子节点)辅助功能:...
棋盘翻转大师:力扣LCP41题"翻转黑白棋"深度解析
4周前 (06-25)82
递归翻转:处理连锁翻转反应三、完整代码解析class Solution {public: int flipChess(vector<string>& chessboard) {......
洛谷P1593:深入理解因子和计算,从数学原理到算法实现
4周前 (06-23)89
递归计算等比数列和,避免直接计算大数三、关键技术点详解质因数分解:从2开始试除,分解a的质因数记录每个质因数的指数时间复杂度O(√a)等比数列求和公式:对于质因数p,其贡献为(1+p+p^2+...+p^(e*b))使用分治方法递归计算,避免数值溢出公式推导:S(n)=(......
动态规划经典问题:NOIP传纸条问题详解与四维DP实现
1个月前 (06-20)94
递归+记忆化的实现方式五、常见问题解答Q:为什么需要四维DP?A:因为要同时跟踪两条路径的位置,每个路径需要两个坐标。Q:如何处理路径相交?A:当i1=i2且j1=j2时,只累加一次当前格的值。Q:能否用DFS解决?A:理论上可以,但时间复杂度太高,不适合较大矩阵。四维动态规划......
力扣面试题04.09:二叉搜索树序列生成算法
1个月前 (06-20)97
递归实现:深度优先搜索所有可能的路径三、关键实现细节候选集选择:使用双端队列(deque)高效管理候选节点回溯操作:每次递归调用后恢复状态终止条件:当没有候选节点时记录当前路径四、代码实现class Solution {public: ......