- 博客(95)
- 收藏
- 关注
原创 C++17(下)
本文介绍了C++17引入的四个重要新特性:1) 简化嵌套命名空间语法;2) __has_include预处理指令;3) std::string_view轻量级字符串视图类;4) 文件系统库std::filesystem
2026-08-03 18:06:16
171
原创 C++17(上)
本文介绍了C++17的六个重要特性:1)结构化绑定,简化多变量声明;2)inline变量,解决头文件变量定义问题;3)if constexpr编译时条件判断;4)折叠表达式,优化可变参数模板处理;5)类模板参数自动推导;6)非类型模板参数的auto推导能力(C++20扩展支持更多类型)。
2026-08-02 14:56:45
318
原创 C++11拓展学习(下)
C++11引入的强枚举类型(enum class),static_assert编译时断言机制、std::tuple元组容器,以及模板元编程(TMP)的核心概念
2026-07-31 16:20:28
226
原创 C++11拓展学习(上)
C++11的constexpr关键字、类型推导(auto/decltype)、尾置返回类型以及using替代typedef等
2026-07-30 21:53:00
202
原创 C++11支持并发库
本文介绍了C++11标准库中的多线程编程工具,主要包括:1. thread库:跨平台线程封装,支持多种构造函数创建线程,通过join()等待线程结束,使用get_id()获取线程ID;2. this_thread命名空间:提供线程控制函数如yield()、sleep_for()等;3. 同步机制:mutex互斥锁及其RAII封装类lock_guard/unique_lock,以及条件变量condition_variable的使用方法。重点讲解了线程参数传递的引用问题、锁粒度对性能的影响,并通过交替打印奇偶数
2026-07-29 22:10:47
228
原创 算法提高篇(1)线段树(上)
线段树是一棵二叉树,常用来维护区间信息。它可以在logN级别的时间复杂度内来完成区间的单点修改、区间修改、区间查询(区间和、区间最大最小值)等操作。
2026-04-16 22:02:35
342
原创 第三章、博弈论
本文系统介绍了三种经典博弈论模型及其解法:1. Bash博弈 2. Nim博弈 3. SG函数。文章详细阐述了各博弈模型的数学证明、性质分析及代码实现方法,并展示了如何通过打表找规律解决实际问题。最后通过经典例题演示了这些理论在具体问题中的应用,包括反常游戏的转化处理。
2026-03-31 21:31:20
462
原创 第二章、数论
本文介绍了数论中的三个基础概念:约数与倍数、质数判定和筛法求质数。首先解释了最大公约数(gcd)和最小公倍数(lcm)的定义及关系,给出了欧几里得算法求gcd的方法及其时间复杂度分析。其次讲解了质数的定义和试除法判定质数的优化方法。最后详细介绍了两种筛法:埃氏筛和线性筛
2026-03-31 10:30:13
425
原创 第一章、线性代数(2)高斯消元法
线性方程组和高斯消元法的基本概念及实现。提供了高斯消元法的C++代码实现,并展示了如何判断解的情况(唯一解、无解或无数解)。
2026-03-30 19:55:44
150
原创 算法基础篇(13)单调栈
单调栈是一种具有严格递增或递减特性的栈结构,主要用于解决四种邻近元素查找问题:查找当前元素左右两侧最近且比它大/小的元素。通过维护单调栈(递增或递减),可以高效定位目标元素。实现时栈存储元素下标,遍历过程中弹出不符合单调性的元素,栈顶即为所求。
2026-03-30 14:39:04
255
原创 第一章、线性代数(1)矩阵乘法
本文介绍了矩阵的基本概念、运算规则及其应用。主要内容包括:矩阵的定义与特殊类型;矩阵的线性运算和乘法运算规则;提供了矩阵乘法和矩阵快速幂的C++实现模板;最后通过矩阵加速解法展示了如何利用矩阵快速幂优化递推问题,为矩阵运算的编程实现提供参考。
2026-03-29 22:42:01
286
原创 C++篇(18)类型转换与IO库
类型安全是指编程语言在编译和运行时提供保护机制,避免非法的类型转换和操作,导致出现一个内存访问错误等,从而减少程序运行时的错误。C语言不是类型安全的语言,因为C语言允许隐式类型转换,在一些特殊情况下就会导致越界访问的内存错误,其次不合理的使用强制类型转换也会导致问题,比如一个int*的指针强制转换成double*访问就会出现越界。C++兼容C语言,支持隐式类型转换和强制类型转换,所以。
2025-11-16 22:27:56
677
原创 C++篇(17)哈希拓展学习
本文介绍了位图和布隆过滤器两种数据结构及其在解决海量数据处理问题中的应用。位图通过二进制位高效判断整数存在性,适用于40亿整数查询等问题,但仅支持整型数据。布隆过滤器则扩展应用范围,通过多哈希函数降低冲突率,适用于字符串等非整型数据的快速查询,但存在误判可能。文章还展示了这两种结构的C++实现,并分析了处理百亿级数据的解决方案,包括哈希切分等关键技术,为解决海量数据查询、统计和去重问题提供了实用方法。最后通过具体案例(如IP统计)演示了这些技术在真实场景中的应用。
2025-11-16 15:16:16
932
原创 算法基础篇(10)递归型枚举与回溯剪枝
本文介绍了搜索算法的基本概念与实现方法。搜索是通过枚举所有可能情况来寻找最优解或统计合法解,主要包括深度优先搜索(DFS)和宽度优先搜索(BFS)。文中重点讲解了四种枚举问题的DFS实现:子集枚举通过递归构建选择路径,组合枚举按顺序选择元素,排列枚举使用标记数组避免重复,全排列则输出所有可能的排列。每个算法都包含回溯过程,即撤销选择以恢复现场。这些方法为解决问题提供了系统的枚举框架,适用于各种组合排列类问题。
2025-11-01 21:08:13
533
原创 算法基础篇(9)倍增与离散化
本文介绍了两种算法优化技巧:倍增思想和离散化。倍增思想通过翻倍操作将对数级处理转化为线性处理,演示了快速幂和快速乘的模板实现。离散化则用于处理数据范围大但总量小的情况,提供了排序+去重+二分查找和排序+哈希表两种实现方式。其中特别强调了离散化时需注意区间缩小问题,提出通过额外离散化x+1和y+1来保证正确性。文章包含多个代码模板和实际应用示例。
2025-10-26 17:31:55
371
原创 算法基础篇(8)贪心算法
本文介绍了贪心算法及其在多个经典问题中的应用。首先阐述了贪心算法的基本思想:通过局部最优选择逐步构建全局最优解。随后以货仓选址问题为例,展示了如何利用中位数位置实现最优解,并通过数学证明其正确性。接着讨论了最大子段和、纪念品分组等问题中贪心策略的具体实现。文章还介绍了公式法在排序问题中的应用,如拼数问题和保卫花园问题。最后探讨了区间类贪心问题,包括线段覆盖和雷达安装问题,详细说明了如何通过端点排序和重叠区间处理来获得最优解。每种算法都配有完整的C++代码实现和简要的数学证明。
2025-10-24 16:45:01
1646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1