自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

船漏了就会沉的博客

正在努力学习的蒟蒻

  • 博客(40)
  • 收藏
  • 关注

原创 编译原理入门:从代码到程序的“灵魂翻译”

这篇文章系统性地介绍了编译器的完整工作流程,将其划分为八个关键阶段:预处理、词法分析、语法分析、语义分析、中间代码生成、优化、目标代码生成以及最后的汇编链接过程。每个阶段都通过具体示例和形象类比(如"装修工""扫描仪""语法老师"等)进行详细阐释,重点说明了从源代码到可执行程序的转换过程中,编译器如何逐步将高级语言转化为机器能理解的指令。文章特别强调中间代码(IR)的关键作用,解释了优化环节的重要性,并最终通过完整的编译器结构图将整个编译过程可视化

2026-07-02 21:44:24 59

原创 调试与对拍:算法竞赛的“除虫指南”

本文系统介绍了算法竞赛中的调试与对拍技巧。主要内容包括:1. 调试心法:通过提问定位错误类型(逻辑错误/边界错误/数组越界等)2. 静态调试:二分法定位、打印中间变量、检查常见低级错误3. 动态调试:GDB使用指南及替代方案(cout大法、assert断言)4. 对拍技术:构建正解/暴力/数据生成器三件套,编写自动化测试脚本5. 常见WA类型分析:溢出、数组越界、精度等问题的排查方法6. 效率提升技巧:预编译宏、cerr输出、调试助手宏等建议选手建立系统化调试思维,结合自动化对拍工具,将调试时间从&quot

2026-07-02 20:40:26 454

原创 C++设计模式:让代码从“能跑”到“好维护”

本文摘要:设计模式是软件开发中的经验总结,能提升代码的可维护性和可扩展性。文章重点讲解五大常用模式:单例模式(全局唯一实例)、工厂模式(集中管理对象创建)、观察者模式(一对多事件通知)、策略模式(动态切换算法)和装饰器模式(动态扩展功能)。每种模式均通过C++示例代码和实际应用场景说明其实现方式及优缺点。设计模式学习需经历模仿、识别和应用三个阶段,合理运用可降低代码耦合度,提高团队协作效率。

2026-07-02 20:28:55 281

原创 ROS2基本操作指令:从“节点”到“机器人”的完整工具箱

ROS2基本操作指令:从“节点”到“机器人”的完整工具箱

2026-07-01 19:27:12 357

原创 Linux基本操作指令:从“黑屏恐惧”到“命令行自由”

Linux基本操作指令:从“黑屏恐惧”到“命令行自由”

2026-07-01 19:23:28 316

原创 树形DP进阶:让动态规划在树上“生根发芽”

本文深入讲解了树形动态规划(DP)的两个进阶方向:树上背包和换根DP。树上背包通过在树上做分组背包来解决依赖性问题(如选课问题),而换根DP则通过两次DFS高效计算以每个节点为根时的最优解。文章从基础模型出发,结合经典例题和代码框架,详细阐述了状态设计、转移方程和复杂度分析。最后总结了树形DP的三个层次:基础递推、树上背包和换根DP,强调理解分组本质和两次扫描的关键作用。掌握这些方法能有效解决树结构上的复杂优化问题。

2026-06-30 23:09:59 175

原创 路径规划:让机器人从A到B的“智慧选择”

路径规划是机器人学、自动驾驶和游戏AI中的核心问题,分为基于搜索和基于采样两类算法。基于搜索的算法(如Dijkstra和A*)适合结构化环境,其中Dijkstra保证最优但效率低,A通过启发式函数提高效率。基于采样的算法(如RRT和RRT)适合高维复杂环境,RRT快速但不保证最优,RRT通过优化逐步逼近最优路径。实际应用中,自动驾驶结合全局(A)和局部(RRT*)规划,游戏AI常用A*,高维机器人运动则依赖RRT系列算法。选择算法需权衡环境复杂度、最优性要求和计算效率。

2026-06-30 23:09:14 256

原创 鲁棒MPC、分布式MPC与学习型MPC:三种“进化版”模型预测控制

鲁棒MPC、分布式MPC与学习型MPC:三种“进化版”模型预测控制

2026-06-30 20:12:33 266

原创 算法竞赛中的思维陷阱与破局之道

算法竞赛中的思维陷阱与破局之道

2026-06-29 15:25:32 1101

原创 STL算法:让算法竞赛选手的代码“短平快”

STL算法:让算法竞赛选手的代码“短平快”

2026-06-28 22:58:17 175

原创 数据结构期末复习笔记:从“迷雾”到“清晰”的完整地图

堆 =完全二叉树堆序性最大堆:父结点 ≥ 子结点最小堆:父结点 ≤ 子结点树边数 = N - 1完全二叉树前 h 层结点数 = 2h−12h−1堆建堆 O(N)O(N),插入/删除 O(log⁡N)O(logN)并查集S[x] < 0 是根,负数表示规模Union 先 Find图邻接表 DFS/BFS = O(V+E)O(V+E)邻接矩阵 DFS/BFS = O(V2)O(V2)无权 BFS → Dijkstra → FloydMSTPrim 稠密图,Kruskal 稀疏图。

2026-06-28 00:36:10 267

原创 CDQ分治:让偏序问题“降维打击”

CDQ分治:让偏序问题“降维打击”

2026-06-26 14:13:13 408

原创 SG函数:让博弈“化整为零”

SG函数:让博弈“化整为零”

2026-06-25 16:16:16 414

原创 数位DP:从“穷举数字”到“逐位拆解”

数位DP:从“穷举数字”到“逐位拆解”

2026-06-25 16:13:31 313

原创 C++11 新特性完全指南:从入门到精通

特性autodecltype作用根据初始化值推导变量类型查询表达式的类型顶层 const忽略保留引用剥离保留必须初始化是否典型场景简化变量声明模板返回类型推导C++98 中,左值(Lvalue)是可以取地址的表达式,右值(Rvalue)是不能取地址的临时值。泛左值(glvalue)= 左值(Lvalue)+ 将亡值(xvalue)右值(Rvalue)= 纯右值(prvalue)+ 将亡值(xvalue)纯右值(prvalue):字面量、表达式求值结果、传值返回的函数调用等:42;

2026-06-25 15:40:14 797

原创 KMP与AC自动机:让字符串匹配“跳着走”

next[i](或称pi[i])表示模式串p[0...i-1]的最长公共真前后缀的长度。换句话说,它是p的前i个字符组成的子串中,既是前缀又是后缀的最长长度(且长度小于i例如(约定)("a" 没有真前后缀)("ab" 没有)("aba" 的前缀 "a" = 后缀 "a")("abab" 的前缀 "ab" = 后缀 "ab")("ababa" 的前缀 "aba" = 后缀 "aba")在 KMP 中,next[j]表示失配后模式串应该跳到的位置。在 AC 自动机中,fail 指针fail[u]指向。

2026-06-25 15:21:01 314

原创 主席树:从“区间求和”到“可持久化”的线段树进阶

主席树:从“区间求和”到“可持久化”的线段树进阶

2026-06-23 19:10:31 471

原创 YOLO目标检测入门讲义——RoboMaster视觉篇

YOLO目标检测入门讲义——RoboMaster视觉篇

2026-06-23 01:04:47 518

原创 STL标准容器:算法竞赛的“百宝工具箱”

STL标准容器:算法竞赛的“百宝工具箱”

2026-06-22 13:11:49 1100

原创 Link-Cut Tree:让动态树“随心而动”

Link-Cut Tree:让动态树“随心而动”

2026-06-21 14:45:40 195

原创 算法竞赛入门算法串讲:构建你的“解题工具箱”

本文为入门算法的大纲式串讲,旨在为初学者构建知识框架。各模块内含代码片段、典型例题、复杂度分析和常见变形,并附有“决策指南”帮助你快速识别题目类型。建议配合专题刷题使用。

2026-06-21 00:42:22 1187

原创 KD-tree:高维空间搜索的“精准制导”系统

KD-tree:高维空间搜索的“精准制导”系统

2026-06-20 19:02:56 486

原创 MPC轨迹优化:让机器人“预见未来,步步为营”

MPC轨迹优化:让机器人“预见未来,步步为营”

2026-06-20 18:15:42 302

原创 PnP:从二维图像“还原”三维姿态的几何之眼

PnP:从二维图像“还原”三维姿态的几何之眼

2026-06-16 17:02:37 647

原创 卡尔曼滤波:让不确定的数据“融合”出真相

卡尔曼滤波:让不确定的数据“融合”出真相

2026-06-16 00:15:28 576

原创 莫队算法:离线查询的“魔法排序”

莫队算法:离线查询的“魔法排序”

2026-06-15 00:18:32 714

原创 状压DP学习笔记

状压DP学习笔记

2026-06-15 00:15:55 311

原创 内存池学习笔记

内存池学习笔记

2026-06-14 00:06:57 335

原创 网络流学习笔记

网络流

2026-06-14 00:05:16 303

原创 树状数组:用二进制优化的前缀和

树状数组:用二进制优化的前缀和

2026-06-13 00:34:32 514

原创 线段树:让区间操作“化整为零,分层治理”

线段树:让区间操作“化整为零,分层治理”

2026-06-13 00:30:05 240

原创 马拉车算法

马拉车算法

2026-06-12 22:00:17 721

原创 C++多线程编程:让CPU核心们“并肩作战”

多线程编程的简单学习

2026-06-12 00:00:05 391

原创 Tarjan算法:让图的连通性“一搜到底”

Tarjan算法:让图的连通性“一搜到底”

2026-06-11 21:24:51 463

原创 斜率优化DP

斜率优化DP

2026-06-11 20:28:07 413

原创 反悔贪心:让贪心算法拥有“后悔药”

反悔贪心:让贪心算法拥有“后悔药”

2026-06-10 12:38:12 600

原创 洛谷题解P3747【相逢是问候】

洛谷题解P3747【相逢是问候】——线段树进阶+扩展欧拉定理

2026-06-10 00:01:53 214

原创 洛谷题解P4314 【CPU监控】

洛谷题解P4314 [CPU监控]——线段树的进阶用法

2026-06-09 00:29:09 186

原创 树链剖分入门

树链剖分入门

2026-06-09 00:26:20 641

原创 仙人掌-圆方树学习笔记

本文介绍了仙人掌图的定义及圆方树在解决相关问题中的应用。仙人掌图是一种无向连通图,其每条边最多属于一个环。圆方树通过将原图转换为树结构(圆点对应原节点,方点对应点双连通分量),便于利用树的性质处理问题。文章详细讲解了圆方树的构建方法(基于Tarjan算法)、性质及5个典型例题的解决思路,包括静态仙人掌最短路查询、必经点统计、三元组计数、直径计算和路径最小值查询。圆方树能有效简化仙人掌图问题的处理,尤其适用于涉及环结构的图论问题。

2026-06-08 13:14:51 1063

c++多线程编程基础讲义

c++多线程基础讲义

2026-06-11

空空如也

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

TA关注的人

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