
简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
c++动态规划算法详解
动态规划(DP)是一种通过分解重叠子问题来优化求解的算法思想。其核心特征包括最优子结构、重叠子问题和无后效性。解题四步走:1)定义状态;2)推导状态转移方程;3)初始化;4)确定遍历顺序。经典案例包括斐波那契数列、爬楼梯、最大子数组和以及0-1背包问题,展示了从基础到进阶的应用。DP可通过空间优化(如滚动数组)提高效率。判断问题是否适用DP的标准是:是否具有最优子结构、重叠子问题且满足无后效性。掌

Set的用法(c++)
若想让集合按照特定的规则对元素进行排序,可以自定义比较函数。// 降序排列的集合也可以使用函数对象或者 lambda 表达式来自定义比较规则。std::set是 C++ 中用于存储唯一元素的容器,它会自动对元素进行排序。当你需要高效地存储不重复元素,并且希望元素有序时,std::set是一个不错的选择。不过要注意,std::set不支持直接修改元素的值,因为元素的值同时也是键,修改键会破坏集合的有

[GESP202603 六级] 完全二叉树
本文提出了一种高效算法,用于统计有根二叉树中所有完全二叉子树的数量。通过递归遍历,为每个节点记录子树高度、是否为满二叉树和完全二叉树等属性。算法核心在于判断两种合法结构:左子树为满二叉树且右子树为完全二叉树(高度相等),或左子树为完全二叉树且右子树为满二叉树(左高右低1层)。采用后序遍历确保先处理子节点再处理父节点,时间复杂度O(n),适用于大规模数据(n≤1e5)。AC代码已通过洛谷测试,验证了

到底了







