自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Git入门——常用指令汇总

以下是一份精心整理的。

2025-03-27 18:05:19 680

原创 C++的next_permutation函数与排列问题解法

是C++标准库中的全排列生成函数,其核心功能是按照字典序生成给定序列的下一个排列。// 默认使用<比较// 自定义比较函数返回值:存在更大排列时返回true,否则返回false并重置为最小排列12时间复杂度:O(n),n为序列长度必须先将序列排序为最小字典序,才能生成所有排列直接修改原序列,生成新排列支持自定义比较规则处理特殊顺序(如大小写混合排序)字典序的本质:排列的比较规则类似于字符串比较,213132因为首位2>1逆序检测:当。

2025-03-02 15:20:26 818

原创 离散化思想的简单应用

离散化是一种将大范围数值映射到紧凑区间的技术。当数据值域跨度极大(如1e9)但实际数据点稀疏(如1e5个)时,直接使用数组处理会浪费大量空间。此时可将数据映射到连续的小范围索引,从而高效处理。

2025-02-22 14:13:52 859

原创 深度优先搜索(DFS)——八皇后问题与全排列问题

( ^ _ ^ )数据结构好难哇(哭。

2025-02-10 22:11:09 918

原创 回溯算法中关于剪枝的一些应用

剪枝是回溯算法的灵魂,核心在于通过问题特性提前终止无效递归。关键步骤明确问题的约束条件分析决策树中哪些分支必然无效设计剪枝条件,用代码实现提前终止通过排序、哈希表等工具辅助剪枝判断。

2025-02-05 12:14:58 667

原创 回溯算法简单理解

回溯算法是一种通过试错来解决问题的算法,当发现当前路径无法得到正确解时,会回溯到上一步尝试其他可能。它特别适合解决等。

2025-02-05 12:13:23 507

原创 区间增减操作——差分数组

给定一个数组a,其差分数组diff(第一个元素保持不变);对于i > 0(当前元素与前一个元素的差值)。差分数组的性质差分数组的前缀和可以还原原始数组。对差分数组进行区间更新操作,可以高效地反映到原始数组中。差分数组是一种非常实用的工具,特别适合处理区间更新问题。它的核心思想是通过记录相邻元素的差值,将区间更新操作转化为单点更新操作,从而大幅提高效率。

2025-02-03 21:55:03 790

原创 小根堆和大根堆——优先队列问题

堆序性:每个节点的值都大于等于(或小于等于)其子节点的值。大根堆:每个节点的值都大于等于其子节点的值,根节点是最大值。小根堆:每个节点的值都小于等于其子节点的值,根节点是最小值。完全二叉树:除了最后一层,其他层的节点都必须填满,且最后一层的节点都靠左排列。堆是一种高效的数据结构,在解决优先队列、TopK问题、堆排序等问题时具有显著优势。理解堆的性质和操作,并掌握其应用场景,对于提升算法能力和解决实际问题至关重要。希望本文能够帮助你更好地理解和应用堆结构!有一堆石头,每块石头的重量都是正整数。

2025-02-03 21:22:16 1258

原创 出栈序列问题——卡特兰数

卡特兰数(Catalan Number)是一系列在组合数学中经常出现的自然数。卡特兰数的第 n 项(记作c n表示许多组合问题的解的数量。C01C11C22C35C414C542C0​1C1​1C2​2C3​5C4​14C5​42Cn1n12nnCn​n11​n2n​其中,2nnn2n​是组合数,表示从 (2n) 个元素中选取 (n) 个元素的组合数。栈的性质。

2025-02-02 21:46:43 871

原创 A*B problem(高精度乘法)

(高精度加在上篇,感兴趣请移步查看)

2025-01-24 18:59:13 191

原创 A+B problem(高精度加法)

感觉网上的高精度加法很多都很麻烦,lz写了一个可能 还算简单的,给大家参考(自留)好难好难,感觉没有头绪哇。

2025-01-24 18:08:09 328

原创 详解类与对象——多态

(^ _ ^)超长文嘻嘻。

2025-01-21 16:08:36 952

原创 详解类与对象——继承

(^ _ ^)

2025-01-21 11:46:51 742

原创 详解类与对象——运算符重载

(^ _ ^)

2025-01-20 18:17:59 749

原创 详解类与对象——友元

(^_^)

2025-01-20 11:52:21 340

原创 详解类与对象——c++对象模型和this指针

(^_^)

2025-01-19 22:30:46 766

原创 详解类与对象——对象的初始化与清理(3)

关于对象的初始化和清理之前的内容请各位客官移步前两篇文章(^_^)

2025-01-18 13:57:03 648

原创 详解类和对象——2.对象的初始化与清理(2)

一和二在上篇文章(^ _ ^)

2025-01-17 16:17:46 399

原创 详解类和对象——2.对象的初始化与清理(1)

构造函数可以传入参数。析构函数不能传入参数。意味着构造函数可以发生。A.如果我们不提供构造和析构,编译器会自动为我们提供这两个函数,A.按照参数:有参构造(默认构造),无参构造。:由编译器提供的构造函数和析构函数是。为了解决上述两个问题,c++提供了。B.按照类型:普通构造,拷贝构造。是两个重要的安全问题。注意事项见如下代码块。

2025-01-17 11:27:02 458

原创 封装初级案例——立方体类,点与圆位置关系

直接上代码罢()(^ _ ^)

2025-01-15 00:01:32 113

原创 详解类和对象——1.封装

(3)私有权限:private 类内可以访问,类外不可以访问。(2)保护权限:protected 类内可以访问,类外不可以访问。(1)公共权限: public 类内可以访问,类外可以访问。优点二:方便检测数据的有效性。(加一个if 条件判断)(1)将属性和行为作为一个整体来表现生活中的事物。(2)将属性和行为放在不同权限下加以全面控制。在c++开发中我们一般将成员属性设置为私有。封装是c++面向对象编程的三大特性之一。class <自定义类名>{优点一:自己控制读写权限。

2025-01-14 22:32:28 307

原创 详解程序内存模型——内存四区

划分内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程。​(2)全局区还包含了常量区, 字符串常量和其他常量也存放在此.把堆区的地址用栈上的指针来储存。分配和释放,若程序员不释放,程序结束时由操作系统回收。的,对于频繁被使用的代码,只需要内存中有一份代码即可。分配和释放,若程序员不释放,程序结束时由操作系统回收。3.栈区:由编译器自动分配释放, 存放。在程序编译后,生成了exe可执行程序,*由编译器自动分配释放,存放函数的。原因: 栈区开辟的数据由在。,由操作系统进行管理的。

2025-01-12 18:59:35 623

c++项目-基于多态的职工管理系统

c++项目—基于多态的职工管理系统,需要自取(^_^)

2025-01-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除