logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

《算法竞赛从入门到国奖》算法基础:动态规划-路径dp

本文介绍了四种动态规划算法的解题思路与实现代码:1. 矩阵最小路径和问题,使用dp[i][j]记录到达(i,j)的最小路径和;2. 迷雾森林问题,计算从起点到终点的不同路径方案数;3. 过河卒问题,处理带有障碍物的网格路径计数;4. 方格取数问题,采用双线程同步DP解决重复取值问题。每个算法都详细说明了状态表示、转移方程、初始化方法和填表顺序,并提供了完整的C++代码实现。这些经典DP问题展示了动

文章图片
#算法#动态规划#c++ +1
《算法竞赛从入门到国奖》算法基础:数据结构-单调队列

本文介绍了单调队列的原理及其在滑动窗口问题中的应用。单调队列是一种元素单调递增或递减的双端队列,主要用于解决滑动窗口内的最大值/最小值问题。文章通过两个例题(洛谷P1886和P2251)展示了具体实现方法:使用deque存储元素下标,维护队列单调性,并确保窗口大小限制。代码示例展示了如何分别求取窗口最小值和最大值,通过比较队首队尾下标差来控制窗口范围。这种算法能高效处理滑动窗口极值问题,时间复杂度

文章图片
#算法#数据结构#c++ +1
从零开始的C++学习生活 15:哈希表的使用和封装unordered_map/set

本文介绍了基于哈希表实现的unordered_map和unordered_set容器。首先对比了哈希表与红黑树实现的map/set在性能要求、迭代器特性等方面的差异,重点讲解了哈希函数设计、冲突处理策略(开放定址法和链地址法)等底层原理。文章详细分析了如何通过模板特化和素数表优化哈希表实现,并提供了完整的封装方案,包括迭代器实现和关键方法如insert/find/erase的操作细节。最后总结了哈

文章图片
#学习#c++#c语言 +2
《Linux系统编程》6.Linux基础开发工具(下)-git,gdb/cgdb

💡Yupureki:个人主页✨个人专栏:《C++》 《算法》《Linux系统编程》🌸Yupureki🌸的简介:目录1. git的概念与使用1.1 git的概念1.2 git的作用1.3 安装git1.4 github/gitee与git的关系1.5 git三板斧git addgit commitgit push1.6 git的其余操作2. gdb/cgdb调试器的使用2.1 准备工作2.2

文章图片
#linux#运维#服务器
从零开始的C++学习生活 16:C++11新特性全解析

本文系统介绍了C++11的核心特性,包括:1. 列表初始化:统一使用{}初始化语法,支持std::initializer_list容器初始化;2. 右值引用与移动语义:通过区分左值/右值实现资源高效转移,包括移动构造、移动赋值及完美转发;3. 可变参数模板:支持任意数量参数的函数和类模板,配合包扩展机制;4. Lambda表达式:提供匿名函数对象,支持捕获列表;5. 包装器:function统一包

文章图片
#学习#visual studio#c++ +2
《Linux网络编程》7.TCP原理

📝 TCP协议深度解析:连接管理与可靠性机制 本文系统剖析了TCP协议的核心机制,重点围绕三大主题展开: 1️⃣ 报文结构与连接管理 TCP报头详解:16位端口号、32位序列/确认号、6位标志位(SYN/ACK/FIN等)及可变长选项 三次握手流程:SYN同步序列号 → SYN+ACK确认 → ACK完成建立,解决ISN同步与历史连接问题 四次挥手机制:FIN发起关闭 → ACK确认 → FIN

文章图片
#linux#运维#服务器 +2
《Linux网络编程》3.应用层自定义协议与序列化

本文介绍了基于TCP协议的网络计算器实现方案,重点讲解了应用层协议设计和序列化处理。主要内容包括:1. 网络协议分层模型解析,说明应用层协议的作用;2. 提出网络计算器的需求,分析数据完整性问题及解决方案;3. 详细设计序列化与反序列化机制,使用JSON格式封装数据;4. 实现Socket封装类、协议处理类和计算器业务逻辑;5. 通过自定义协议解决TCP粘包问题,采用长度前缀标识消息边界。该方案通

文章图片
#网络#linux#运维
《CMake自动化构建工具》 1.第一个CMake工程

摘要: 本文介绍了CMake的基本概念与使用方法。CMake是一个跨平台的开源构建工具,通过CMakeLists.txt配置文件生成不同平台的原生构建脚本(如Makefile),简化大型项目的编译管理。文章详细讲解了CMake的安装方法(Ubuntu、VSCode插件),并通过一个简单的“Hello World”示例演示了CMake的基本流程:编写CMakeLists.txt(指定最低版本、项目名

文章图片
#自动化#运维#c++ +1
《Linux网络编程》1.网络基础

本文系统介绍了网络协议的基础知识,主要包含三部分内容:1. 协议基础:阐述了网络协议的定义、OSI七层模型和TCP/IP四层模型,通过寄快递的类比解释了各层功能;2. 网络传输:详细说明了MAC地址、局域网通信原理和数据报头的封装/解封装过程;3. Socket编程准备:讲解了IP地址、端口号、Socket概念以及TCP/UDP协议的核心机制和典型应用场景,并介绍了网络字节序的标准。文章通过生活化

文章图片
#linux#网络#运维 +3
《Linux系统编程》20.常见程序设计模式

本文介绍了四种经典设计模式及其在Linux系统编程中的应用: 单例模式:分为饿汉模式(启动时创建)和懒汉模式(首次调用创建),重点解决线程安全和资源管理问题。 责任链模式与消息队列:通过SystemV消息队列实现进程通信,并设计责任链处理消息(格式化、保存、备份),实现高内聚低耦合。 建造者模式与信号量:封装SystemV信号量,使用建造者模式灵活配置信号量集合,实现父子进程同步打印。 生产者消费

文章图片
#linux#服务器#c语言 +4
    共 16 条
  • 1
  • 2
  • 请选择