自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法练习】算法练习精选:陶陶摘苹果(基础+升级)、Music Notes、字串变换,你能AC几道?

算法练习精选:从模拟到搜索 摘要:本文精选四道洛谷经典算法题,由浅入深讲解不同解题思想。1.模拟题《陶陶摘苹果》直接按题意统计;2.贪心题《陶陶摘苹果(升级版)》通过排序优先摘费力小的苹果;3.前缀和+二分《Music Notes》利用前缀和数组快速定位音符时段;4.BFS搜索《字串变换》将字符串转换视为状态转移,用广度优先搜索求最短步数。四道题目涵盖基础到进阶算法思想,适合算法学习者循序渐进练习,完整代码已附解题思路。

2026-06-01 23:40:28 231 2

原创 【算法练习】算法练习精选:从 Phone numbers 到 Decrease,覆盖字符串、模拟、图论思维题

算法练习精选摘要 本文精选了4道算法题目,涵盖字符串处理、数学思维、图论和差分数组技巧: CF25B Phone numbers:根据数字长度奇偶性分类处理电话号码格式,使用简单条件判断实现分组。 zzc种田:通过数学方法计算矩形切割最大正方形时的总周长,采用辗转相除法思路优化计算。 信息传递:结合拓扑排序和DFS检测有向图中的最小环,时间复杂度O(n)。 Decrease:运用二维差分矩阵处理子矩阵加减操作,通过逆向思维将问题转化为差分矩阵归零。

2026-05-31 20:42:47 267

原创 【C++】string 类深度剖析:常用接口和编译器差异一网打尽

在C++编程中,字符串处理是极为常见的需求。传统C风格字符串(字符数组)因其繁琐的内存管理和功能限制,逐渐被更高效、更安全的类取代。作为STL(标准模板库)的核心组件之一,string类不仅封装了动态字符序列的操作,还提供了丰富的接口和优化的性能。本文将从STL的基础概念切入,逐步深入剖析string类的设计原理、常用接口及底层实现细节。内容涵盖构造与遍历、容量管理、修改操作等核心功能,并对比不同编译器(如GCC、MSVC)下的实现差异,帮助开发者彻底掌握string类的应用与优化技巧。

2026-04-28 18:24:53 399 5

原创 【C++】C++ 模板深度剖析:从函数模板到类模板,彻底搞懂泛型编程

本文深入解析了C++模板编程的核心技术。首先介绍了泛型编程的概念及其优势,包括代码复用、类型安全和性能优化。然后重点讲解了函数模板的语法格式、工作原理及实例化过程,通过示例展示了隐式实例化和显式实例化的应用场景。文章还探讨了类模板的实现方式,帮助读者全面掌握从函数模板到类模板的泛型编程技术。最后指出模板是现代C++实现高效、灵活代码的关键工具,能够自动生成类型特定的代码版本,极大提升开发效率。

2026-04-25 14:45:29 342

原创 【算法练习】算法练习精选(一):8道经典题,从金币到借教室,全面提升解题思维

算法练习精选(一) 本文精选8道经典算法题目,涵盖多种算法类型,帮助提升编程思维和解题能力。 金币问题:模拟发放金币过程,通过变量维护金币递增规律。 接水问题:使用小根堆模拟多人接水过程,计算最短完成时间。 逆序对问题:通过归并排序高效计算逆序对数量,理解排序本质。 搭配购买:结合并查集和01背包,处理商品组合购买的最大价值问题。 棋盘问题:暴力枚举所有可能的矩形,统计正方形和长方形数量。 这些题目从基础模拟到高级算法设计,逐步提升分析问题和算法实现能力。

2026-04-14 20:36:17 1044 1

原创 【基础算法】动态规划从入门到进阶:记忆化搜索、线性 DP、LIS/LCS 一网打尽

本文介绍了动态规划算法的基本概念和解题方法,重点从记忆化搜索过渡到递推形式的动态规划。主要内容包括: 动态规划的核心思想是通过存储子问题的解避免重复计算,提高效率 通过斐波那契数列示例展示了记忆化搜索和递推两种实现方式 详细讲解了动态规划五步法:状态表示、状态转移方程、初始化、填表顺序和结果确定 以下楼梯问题为例,演示了如何应用动态规划解决问题 介绍了空间优化技巧,如使用滚动变量减少内存使用 文章强调动态规划学习需要循序渐进,建议通过大量练习掌握这一重要算法思想。

2026-04-06 15:28:52 487 1

原创 【数据结构】并查集从入门到精通:基础实现、路径压缩、扩展域、带权,一网打尽

本文系统讲解并查集数据结构,涵盖基础实现、优化技巧及高级应用。并查集通过双亲表示法实现森林结构,支持快速合并集合(Union)和查询元素所属集合(Find)操作。核心内容包括:1)基础操作实现(初始化、查询、合并、判断);2)三种优化方法(路径压缩、按秩合并、按大小合并)降低时间复杂度至接近O(1);3)扩展应用如扩展域与带权并查集,可解决复杂关系问题。最后通过洛谷模板题P3367展示代码实现,验证算法效率。

2026-03-31 22:58:11 459 7

原创 【数据结构】单调栈与单调队列深度解析:从模板到实战,一网打尽

本文系统解析了单调栈和单调队列两种高效数据结构。单调栈通过维护元素单调性,能够快速解决最近邻元素查找问题;单调队列则在滑动窗口中动态维护极值,优化区间查询效率。文章从基础模板入手,结合经典例题如柱状图最大矩形、滑动窗口极值等,详细剖析了两种结构的实现原理和应用场景。通过代码示例展示了单调栈在查找左右边界极值元素的应用,以及单调队列在动态窗口极值维护中的优势。掌握这两种结构能显著提升算法效率,适用于数组优化、区间统计等复杂问题求解。

2026-03-28 22:55:12 462 5

原创 【基础算法】BFS 广度优先搜索全攻略:基础、多源、01 BFS,一网打尽

文章摘要: 本文系统讲解BFS算法的核心原理与典型应用,涵盖基础实现、多源扩展及01 BFS优化。通过"马的遍历""kotori和迷宫"等经典例题,剖析BFS的最短路特性与层序遍历机制,详解状态转移、队列实现及边界处理。针对不同场景提供代码模板,包括迷宫最短路径、状态空间搜索及边权0/1的特殊优化。掌握BFS的逐层扩展策略,能高效解决无权图最短路径、矩阵距离等问题,提升算法实战能力。

2026-03-27 23:58:55 409 2

原创 【基础算法】剪枝与记忆化搜索:算法优化的双刃剑,效率倍增的实战指南

摘要: 剪枝与记忆化搜索是提升算法效率的两大核心技术。剪枝通过提前终止无效分支减少计算量,适用于搜索与回溯问题;记忆化搜索通过存储中间结果避免重复计算,常见于递归与动态规划场景。本文以数的划分、小猫爬山、斐波那契数等经典案例,详解剪枝策略(如等效冗余排除、可行性剪枝)与记忆化搜索的实现方法,强调优化搜索顺序与状态存储的关键作用。通过平衡优化效果与代码复杂度,帮助开发者掌握高效算法的设计精髓,实现性能的指数级提升。

2026-03-24 16:41:19 453 5

原创 【基础算法】DFS深度优先搜索全攻略:选数、飞机降落、八皇后,一网打尽

本文摘要: 《深度优先搜索算法全解析》系统讲解了DFS的核心思想与典型应用。通过三个经典案例剖析:选数问题展示组合枚举与质数判断的结合;飞机降落问题演示全排列搜索与剪枝优化技巧;八皇后问题揭示对角线冲突检测的坐标变换方法。文章提供完整代码实现,强调递归回溯与状态恢复的关键步骤,并分析各算法的时间复杂度(选数O(2^n)、飞机降落O(n!)、八皇后O(n!))。特别指出剪枝策略对提升效率的重要作用,如飞机降落问题中的提前终止条件。

2026-03-22 10:40:20 487 3

原创 【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南

本文介绍了算法设计中暴力搜索与自适应搜索的核心概念,重点探讨了递归型枚举与回溯剪枝的优化方法。通过决策树分析,展示了子集枚举和组合型枚举的递归实现原理,并提供了对应的代码示例。文章强调回溯与剪枝在提升搜索效率中的作用,为算法竞赛和编程实践提供了初级优化指南,帮助读者掌握高效搜索的基本技巧。

2026-03-21 16:13:13 430

原创 【基础算法】分治思想深度剖析:从判断优化到三大经典问题实战

摘要 本文系统性地探讨了分治算法的核心原理与应用实践。首先从理论层面阐述了分治思想的三个关键判断标准:问题可分解性、子问题独立性和解可合并性,并以归并排序为例验证其适用性。随后通过数学分析展示了分治在时间复杂度优化上的显著效果,如将O(n²)降至O(n log n),并指出分治算法天然的并行计算优势。文章重点剖析了三大经典问题的分治解法:逆序对统计通过归并排序框架实现O(n log n)高效求解;第k小元素查找利用划分策略达到线性时间复杂度;最大子段和问题结合动态规划展现分治的灵活应用。

2026-03-21 13:48:12 417

原创 【基础算法】递归深度解析:从思想到实战,汉诺塔、FBI 树等一网打尽

本文系统解析了递归算法的核心思想与应用实践。通过汉诺塔问题展示了递归分解复杂问题的能力,用占卜DIY演示了递归模拟过程,并以FBI树为例说明了递归构建树结构的技巧。递归的关键在于:1)识别重复子问题;2)设计递归函数功能;3)确定终止条件。文章强调从宏观角度理解递归,将递归函数视为黑盒,重点关注输入输出而非具体执行过程。通过典型案例分析,帮助读者掌握递归思维范式,提升算法设计能力。

2026-03-19 23:38:30 415 2

原创 【C++】C/C++ 内存分布深度剖析:从代码区到堆栈,new/delete 与 malloc/free 一网打尽

C/C++ 内存管理与动态分配解析 本文系统介绍了C/C++程序的内存布局,重点分析了五大内存区域的功能特点: 栈区:存储局部变量、函数参数,自动管理,向下增长 堆区:动态分配内存(malloc/new),手动管理,向上增长 数据段:存储全局/静态变量,程序启动时加载 代码段:存放可执行代码和常量,只读属性 内存映射段:用于共享库和文件映射 通过具体代码示例对比了C语言(malloc/calloc/realloc/free)和C++(new/delete)的内存管理方式,解析了new操作符的底层实现机制。

2026-03-17 22:22:26 420 8

原创 【C++】C++类的幕后高手:友元、内部类、匿名对象与编译器优化深度解析

文章摘要: 本文深入解析C++类的高级特性,包括友元函数、内部类、匿名对象及编译器优化机制。友元函数突破封装限制,允许外部访问私有成员;内部类作为独立类嵌套于外部类,默认成为其友元;匿名对象提供临时使用的高效方案,生命周期仅限当前行。此外,探讨现代编译器如何优化对象拷贝过程,对比不同编译器版本的优化差异(如VS 2019与VS 2022),帮助开发者编写更高效的代码。通过实际案例展示特性应用场景,强调合理使用以平衡灵活性与封装性。

2026-03-15 19:57:43 426 5

原创 【C++】不止于基础:再探构造函数、类型转换与 static 成员

本文深入探讨了C++中的构造函数初始化列表、类型转换与static成员等进阶内容。通过代码示例详细讲解了初始化列表的语法规则、使用场景及其必要性,特别是针对引用成员、const成员和类类型成员的初始化要求。同时分析了默认构造函数的特性,并展示了初始化列表与函数体初始化的混合使用方式。文章还涉及static成员的相关知识,为C++学习者提供了从基础到进阶的系统性指导。

2026-03-14 19:04:37 565 3

原创 【C++】C++ 类和对象还抽象?用日期类实战,一次性搞定所有核心机制

摘要 本文通过C++日期类实现,系统讲解了类和对象的核心机制。内容包括:构造函数设计、运算符重载(+=、+)、成员函数封装、日期运算逻辑(加减天数、跨月跨年处理)及代码优化技巧。实战案例演示了如何创建日期类、实现日期计算功能,并通过测试验证代码正确性,帮助读者深入理解面向对象编程的关键概念。

2026-03-14 00:29:26 410 1

原创 【C++】C++ 重载深度解析:赋值运算与取地址运算符,你真的会了吗?

在C++中,运算符重载是一项强大的特性,允许开发者自定义运算符的行为,使其适用于用户定义的类型。赋值运算符(operator=)和取地址运算符(operator&)是其中两个关键的重载目标,但它们的实现细节和潜在陷阱往往容易被忽视。赋值运算符的重载不仅涉及深拷贝与浅拷贝的问题,还需处理自赋值安全性及资源管理的正确性。而取地址运算符的重载则较少被讨论,但其在智能指针、代理类等高级场景中扮演重要角色,尤其是结合const成员函数的特性时,能够提供更灵活的语义控制。

2026-03-11 23:17:41 388 10

原创 【基础算法】从暴力到高效:倍增和离散化,你必须掌握的两大优化神器

本文介绍了两种优化算法效率的核心思想:倍增和离散化。倍增通过分阶段扩大步长,将线性复杂度优化为对数级别,典型应用包括快速幂和64位整数乘法。离散化则将大范围稀疏数据映射到紧凑空间,避免无效计算,适用于处理数值范围大但数据量小的问题。 文章详细讲解了快速幂和64位整数乘法的算法原理与实现,通过二进制分解和倍增思想显著提升计算效率。在离散化部分,提供了排序+去重+二分查找的实现模板,并给出具体案例说明如何将原始数据映射为紧凑索引。

2026-03-05 22:32:44 364 2

原创 【数据结构】链表还搞不懂?一文彻底拿下单链表与双链表的所有操作

本文主要介绍了链表的基本概念、类型及单链表的实现。链表是一种物理存储非连续、逻辑顺序通过指针链接的线性数据结构,相比数组更灵活。文章详细讲解了单链表的结构定义、打印功能实现,并通过代码示例展示了节点创建与连接。后续将介绍单链表的插入、删除等操作,以及双向循环链表的实现。链表作为基础数据结构,广泛应用于哈希表、图等复杂结构中。

2026-03-04 09:45:00 782 6

原创 【C++】掌握 C++ 类生命周期:构造函数、析构函数、拷贝函数全攻略

本文介绍了C++类的默认成员函数,重点讲解了构造函数和析构函数的使用与特性。构造函数用于对象初始化,具有自动调用、可重载等特点,编译器会为未显式定义的类生成默认构造函数。析构函数用于资源清理,在对象生命周期结束时自动调用,每个类只能有一个析构函数。文章通过代码示例演示了构造函数重载、默认构造函数的生成规则,以及析构函数对内置类型和自定义类型成员的不同处理方式。对于需要管理动态资源的类,必须显式定义析构函数以避免内存泄漏。这些概念是掌握C++类生命周期管理的基础。

2026-03-03 22:57:01 345 2

原创 【基础算法】贪心算法大杂烩:概念、推公式、区间问题……还有你不知道的哈夫曼

贪心算法摘要 贪心算法是一种通过局部最优选择逐步逼近全局最优解的高效问题求解策略。其核心特点在于:无固定套路,需通过常识性推导和反例验证;两极分化严重,简单问题直观,复杂问题极具挑战性;关键在于严谨证明局部最优能推导出全局最优。 典型应用场景包括: 简单贪心问题:如货仓选址(中位数最优解)、最大子段和(动态舍弃负收益段) 推公式类问题:需数学推导证明策略正确性 区间问题:常见调度场景的贪心解法 哈夫曼编码:经典贪心应用案例 实现步骤包括问题分解、局部最优选择、全局最优验证及严谨证明。

2026-03-03 18:13:12 563 1

原创 【C++】C++ 灵魂之问:this 指针的背后,与 C 语言实现 Stack 的终极对决

摘要: 本文探讨了C++中this指针的核心机制及其与C语言实现Stack的对比。this指针作为隐含参数,解决了成员函数区分不同对象的问题,其本质是编译器自动添加的类类型指针。通过代码示例分析了this指针在栈中的存储位置及使用限制,并解析了两道典型面试题(空指针调用成员函数时的运行差异)。第二部分对比了C++与C实现Stack的差异:C++通过封装将数据和函数整合到类中,利用访问限定符加强管理,同时简化了参数传递(缺省参数、隐含this指针)。

2026-03-02 21:34:22 934 2

原创 【C++】C++ 类探秘:从定义到实例化,揭开对象内存布局的面纱

摘要: 本文深入探讨了C++类的核心机制,从语法定义到内存布局。类通过访问限定符(public/private)实现封装,成员变量通常设为private,成员函数设为public。类域影响编译查找规则,需用::指定成员所属类。实例化是类在物理内存中创建对象的过程,每个对象拥有独立的数据空间。对象大小仅包含成员变量,成员函数存储在代码段,通过this指针隐式调用。通过分析类定义、访问控制、实例化及内存布局,揭示了C++面向对象编程的底层实现原理。

2026-02-26 15:51:53 850 11

原创 【基础算法】二分算法深度剖析:从模板到实战,二分查找与二分答案一网打尽

本文系统讲解了二分算法的核心原理与实战应用。首先从二分思想本质出发,分析了有序数据的高效查找机制,针对初学者常见的边界问题提供了两种可靠模板(查找左/右端点)。随后介绍了STL中的二分工具,并强调其局限性。实战部分分为二分查找和二分答案两大板块:通过"牛可乐和魔法封印"等题目演示标准二分查找的实现;在"跳石头"等最优化问题中展示二分答案的解题思路。全文通过6道经典例题,从题意分析、思路推导到代码实现,完整呈现二分算法的应用场景。

2026-02-26 11:44:13 850 4

原创 【C++】告别 C 困惑,拥抱 C++ 便捷:缺省参数、重载、引用等特性实战

本文介绍了C++中的三个重要特性:缺省参数、函数重载和引用。缺省参数允许为函数参数指定默认值,分为全缺省和半缺省两种形式,并详细说明了其使用规则。函数重载使同一作用域内可以定义同名但参数不同的函数,提升了代码灵活性。引用则是为变量创建别名,与原始变量共享内存空间。通过代码示例展示了这些特性的具体应用,帮助读者从C语言顺利过渡到C++编程。

2026-02-24 22:20:24 837 1

原创 【C++】C++ 启程:从历史到实战,揭开命名空间的神秘面纱

在计算机科学领域,C++ 以其强大的性能、灵活的特性以及广泛的应用场景,成为一门极具影响力的编程语言。从早期的 C 语言扩展,到现代 C++20 标准的推出,C++ 持续演进,为开发者提供了更高效、更安全的工具。本文将从 C++ 的历史沿革切入,梳理其版本迭代与核心特性,并深入探讨命名空间(namespace)的设计哲学与实战应用。同时,通过编写第一个 C++ 程序、解析输入输出机制,帮助读者快速建立对 C++ 基础框架的理解。

2026-02-24 10:39:32 787 1

原创 【算法竞赛】堆和 priority_queue

摘要 本文系统介绍了堆数据结构及其在算法竞赛中的应用。首先定义了堆的性质(完全二叉树+极值特性),区分了大/小顶堆。重点讲解了堆的两种核心操作:向上调整(插入元素)和向下调整(删除堆顶),均具有O(logN)时间复杂度。通过数组存储实现堆的模拟,详细展示了插入、删除等操作的代码实现。文章还探讨了堆在优先级队列中的应用,为后续算法学习奠定基础,并提供了丰富的图示和代码示例帮助理解堆的核心机制。

2026-02-20 15:58:29 715 2

原创 【算法竞赛】二叉树

本文系统介绍了二叉树在算法竞赛中的核心知识点。首先阐述了二叉树的基本概念和性质,包括节点定义、层次关系及特殊性质(如叶子数与度为2节点数的关系)。重点讲解了满二叉树和完全二叉树这两种特殊结构及其性质。随后详细分析了二叉树的两种存储方式:顺序存储(适用于完全二叉树)和链式存储(静态数组实现),并比较了它们的优缺点。最后,文章强调了深度优先和广度优先遍历算法在二叉树问题解决中的重要性,为后续算法设计奠定基础。全文以算法竞赛需求为导向,提供了清晰的理论框架和实用代码示例,帮助读者高效掌握这一关键数据结构。

2026-02-18 23:31:08 985

原创 【基础算法】暴力解法一时爽,数据大了火葬场。快来给代码装上“双引擎”!

本文探讨双指针算法在优化暴力解法中的应用。双指针技术通过维护两个同向移动的指针,将时间复杂度从O(n²)降至O(n),显著提升算法效率。这些案例展示了双指针算法在解决大规模数据问题时的优势,避免暴力解法的时间复杂度过高问题,为算法设计提供了"双引擎"动力。掌握该技术能有效提升编程竞赛和实际开发中的问题解决能力。

2026-02-18 21:17:07 825

原创 【算法竞赛】树

树是数据结构中一种重要的非线性结构,广泛应用于计算机科学的各个领域。从文件系统的目录结构到数据库的索引设计,从网络路由算法到人工智能的决策模型,树的概念无处不在。理解树的基本概念、存储方式以及遍历方法,对于掌握更复杂的数据结构和算法至关重要。本文将系统介绍树的相关概念,包括树的定义、基本术语以及有序树与无序树的区别。同时,详细探讨树的两种主要存储方式——孩子表示法和链式前向星,并分析它们的实现细节和适用场景。

2026-02-03 11:59:20 783 13

原创 【基础算法】前缀和的“镜像”:用差分玩转区间更新

本文系统介绍了差分算法的核心原理与应用。差分作为前缀和的"镜像"运算,在区间更新问题中展现出独特优势。文章从一维差分入手,讲解其通过预处理差分数组实现区间快速更新的机制,并应用于"海底高铁"票价计算问题。随后扩展到二维差分,详细分析矩阵覆盖问题的解决方案,揭示差分矩阵的关键性质。通过对比前缀和与差分的互补性,帮助读者掌握两种策略的灵活切换。文章以算法竞赛典型题目为例,提供清晰的代码实现,适合算法学习者和工程开发者提升对批量更新场景的处理能力。

2026-02-02 22:23:16 1193 5

原创 【基础算法】算法的“预谋”:前缀和如何改变游戏规则

摘要: 本文探讨前缀和算法在优化计算效率中的关键作用。一维前缀和通过预处理数组将区间求和降至O(1)时间复杂度,应用于最大子段和等问题;二维前缀和则通过矩阵预处理高效求解子矩阵和,解决如“激光炸弹”等实际问题。前缀和以空间换时间的思想,显著提升算法性能,成为竞赛与工程中的核心优化策略。全文结合图示与代码,深入解析其数学原理与实现方法。

2026-02-01 18:57:59 1200 52

原创 【基础算法】穷举的艺术:在可能性森林中寻找答案

枚举作为一种基础而强大的算法思想,广泛应用于解决各类实际问题。通过系统地遍历所有可能的解或状态,枚举能够确保答案的准确性,尤其适用于数据规模较小或约束条件明确的问题。普通枚举涵盖经典场景,如铺地毯问题中确定覆盖关系、回文日期的日期格式验证,以及扫雷游戏中的相邻格子分析。这类问题通常需要细致的条件判断和循环控制,以高效筛选有效解。二进制枚举则利用位运算的特性,高效处理子集生成、状态压缩等问题。例如,求解集合子集、优化“费解的开关”中的操作步骤,或验证 Even Parity 的矩阵约束。

2026-02-01 14:05:08 777 19

原创 【数据结构】假如数据排排坐:顺序表的秩序世界

本文介绍了线性表和顺序表的基本概念与实现。线性表是n个相同特性元素的有限序列,逻辑上连续但物理存储不一定连续。顺序表作为线性表的一种实现,采用数组存储数据,支持增删查改操作。文章详细讲解了动态顺序表的结构定义、初始化、销毁以及尾部插入操作的实现方法,包括空间不足时的扩容处理(通常按2倍扩容)。通过多个文件模块化编程,展示了顺序表的基础操作流程。后续可继续实现头部插入、删除等其他功能。

2026-01-24 18:24:43 736 16

原创 【基础算法】高精度运算深度解析与优化

摘要 本文系统讲解了算法竞赛中的高精度运算实现方法,涵盖加法、减法、乘法三种基本运算。针对超出标准数据类型范围的大数运算问题,提出了基于字符串存储和数组模拟的解决方案: 高精度加法:通过逆序存储数字、逐位相加并处理进位的方式实现 高精度减法:引入大小比较机制,处理借位和前导零问题 高精度乘法:采用无进位相乘再统一处理进位的优化策略 每种算法均给出核心代码实现和洛谷OJ对应题目链接,为算法竞赛选手提供了处理大数运算的完整解决方案。

2026-01-22 23:13:49 1088 9

原创 OJ 题目的做题模式和相关报错情况

本文介绍了OJ题目中的两种常见做题模式:ACM模式和核心代码模式。ACM模式需要选手自行完成程序框架设计、输入输出处理等全部功能,常见于竞赛和笔试;核心代码模式只需实现指定函数接口,由系统自动测试。文章还分析了牛客和洛谷平台的常见报错类型,包括编译错误、答案错误、部分用例通过、运行时错误(如段错误、除零错误)以及超时问题,并提供了相应的解决建议。通过具体例题和代码示例,帮助读者理解不同模式的特点及常见错误的处理方法。

2026-01-19 00:01:44 721 15

原创 【算法竞赛】队列和 queue

本文介绍了队列的基本概念、模拟实现方法以及C++ STL中的queue和deque容器。主要内容包括: 队列的概念:先进先出(FIFO)的线性结构,包含队头和队尾操作 队列的数组模拟实现:详细讲解了创建队列、入队、出队、获取队头队尾元素、判空和计算元素个数等基本操作的代码实现 C++ STL中的queue容器:介绍了其创建方法、常用函数(size/empty/push/pop/front/back)及使用示例

2026-01-15 18:42:59 854 16

原创 【基础算法】别再空想了!像导演喊 “Action” 一样搞定模拟算法

这篇文章摘要可以概括为: 本文通过三个典型例题(多项式输出、蛇形方阵、字符串展开)详细讲解了模拟算法的实现方法。多项式输出展示了分类讨论处理符号、系数和次数的技巧;蛇形方阵利用坐标变换模拟填充过程;字符串展开则综合运用多种规则处理字符转换。文章强调模拟算法的核心是将题目要求直接转化为代码逻辑,适合巩固编程基础和培养代码实现能力。每个例题都配有清晰的算法思路和完整的代码实现,帮助读者理解如何将问题分解并逐步解决。

2026-01-15 14:26:47 654 4

算法竞赛C++ STL容器应用:vector queue stack deque set map常用操作与实现原理解析

内容概要:本文详细介绍了C++ STL在算法竞赛中的常用容器及其使用方法,涵盖vector、queue、stack、deque、set、multiset和map等核心数据结构。重点讲解了各容器的声明方式、基本操作(如插入、删除、查找)、迭代器使用以及时间复杂度分析,突出STL在高效编程和算法实现中的优势。内容以实用为导向,强调在竞赛场景下快速、准确地运用STL解决问题。; 适合人群:具备一定C++编程基础,准备或正在参与算法竞赛的初学者和中级选手,尤其是高校学生或编程爱好者。; 使用场景及目标:①在算法竞赛中快速实现数据结构操作,提升编码效率;②掌握vector的动态数组管理、set/map的有序查找与去重、queue/deque的队列处理等典型应用场景;③理解红黑树(set/map)与堆(priority_queue)的底层行为以优化性能。; 阅读建议:建议结合实际编程练习边学边练,重点掌握各容器的操作接口和适用场合,注意避免常见错误(如越界访问、迭代器失效),并熟练运用auto简化迭代器声明,提升代码可读性与调试效率。

2026-02-15

算法竞赛学习路径,明晰学习方向

帮助大家有效备考算法竞赛,明晰算法竞赛的学习路径

2025-12-08

Pycharm Community

社区版下载安装程序

2025-12-02

visual studio 快捷键

visual studio 快捷键整理,帮助更好的使用 visual studio 软件

2025-11-15

vs 2022下载资源包

Visual Studio 2022的下载资源,为满足一些想使用vs 2022的朋友们

2025-11-14

空空如也

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

TA关注的人

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