logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

树形 DP 从入门到进阶:普通树形DP、树形背包、换根DP

本文摘要: 树形动态规划(树形DP)是在树结构上进行动态规划的算法,适用于具有层次化关系的问题。文章通过三道经典题目系统讲解了树形DP的三种核心形态: 基础树形DP(选/不选模型):以"没有上司的舞会"为例,展示了如何设计状态表示节点选或不选时的最优解,并通过后序遍历自底向上合并子树信息。 树形背包问题:以"选课"问题为例,演示了如何在树上应用分组背包思想,将有限资源(选课名额)分配给各个子树,通

文章图片
#动态规划#c++
仿RabbitMQ实现消息队列-服务端核心模块实现(5)

本文自研消息队列基于 Muduo 网络库与 Protobuf 协议,模块化拆分为信道、连接、服务器三大核心模块。采用Connection+Channel层级架构,单 TCP 连接可管理多信道,通过管理器加哈希表 + 互斥锁实现连接、信道线程安全生命周期管控。服务器模块统一监听端口、协议分发、注册全部业务回调,抽取通用模板函数精简重复逻辑;信道模块实现交换机 / 队列管理、路由匹配、消息异步入队推送

文章图片
#rabbitmq#分布式
仿RabbitMQ实现消息队列-项目设计

本文基于阻塞队列与生产者消费者模型,结合 AMQP 协议,参考 RabbitMQ 设计思路,实现一款简易消息队列。整体分为服务端、发布客户端、订阅客户端三部分,围绕 Broker 核心服务,阐述 VirtualHost、交换机、队列、绑定、消息等核心概念。介绍三类常用交换机路由规则、数据持久化、网络通信、连接与信道机制及消息应答方案。同时完成功能 API 设计与系统模块拆分,搭配类图梳理核心结构与

文章图片
#rabbitmq#分布式
SQLite3的基础使用

本文介绍轻量级无服务数据库 SQLite 的核心特性,它以单跨平台文件存储、零配置、无外部依赖、体积小巧为优势,兼容多操作系统与ACID事务规范。详解 SQLite3 常用C/C++ API,涵盖线程安全等级、数据库打开、SQL语句执行、资源释放等核心操作接口。基于原生接口封装 `SqliteHelper` 工具类,整合数据库开闭、SQL 执行能力,简化重复开发。结合建表、增删改查完整测试案例,演

文章图片
#sqlite#jvm#数据库
C语言重点知识总结(含KMP详细讲解)

本文回顾了C/C++中数组与指针的核心知识点,重点分析了数组与指针的区别、指针数组与数组指针的区分方法、函数指针的使用技巧,并通过示例代码演示了const指针、strlen与sizeof的区别等常见问题。文章还包含多个经典面试题解析,帮助读者深入理解指针与数组的底层原理和实际应用场景。

文章图片
#c语言#开发语言
c++智能指针

现在问题是main函数结束后会自动释放p1和p2,他们指向的空间引用计数都变成1但是里面空间的指针又互相指着,导致他们的引用计数不能归零。其实回忆一下,之所以会内存泄漏,主要是抛异常跳过了回收内存的语句。拷贝竟然会把原先的指针置空,如果对于不熟悉auto_ptr机理的人使用更是毁灭性的。在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。简单

文章图片
#c++
Linux的常用指令

Linux常用指令。

文章图片
#linux
到底了