自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我见青山多妩媚,料青山见我应如是

落日的余晖只是被积云遮蔽

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

原创 好题精选2026

1、差分+思维的好题。

2026-03-14 20:25:13 16

原创 结论---

每次做题收获的一些个人总结的知识点(如有不对 望指出)一 数论:1. 如果一个数没有奇因数,那么他一定是2的次幂(cf #697 (Div. 3) A)2. 与运算符(&)(优先级低于== 一定要注意括号)两个同时为1,结果为1,否则为0;“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的

2021-01-27 18:55:35 285

原创 1010. 拦截导弹(dp模版二 最长上升子序列

求导弹的发射个数是最长上升子序列(证明是一个定理。求导弹的可拦截个数是最长下降子序列。

2026-03-22 17:41:53 10

原创 FatMouse‘s Speed(dp模版2 最长上升子序列

速度递减,采用dp状态转移,记录路径采用记录前驱的方式后reverse可以满足。这是一题最长上升子序列的变种,首先要满足两个条件,体重递增,速度递减的子序列。体重递增采用结构体排序。

2026-03-22 17:14:45 9

原创 895. 最长上升子序列(线性dp模版题2

求最长上升子序列,显然如果比之前的序列长,那就dp序列++

2026-03-22 15:21:32 12

原创 免费馅饼(dp模版1的变体

【代码】免费馅饼(dp模版1的变体。

2026-03-22 15:06:12 31

原创 898. 数字三角形(线性dp模版1

把大问题转变为一个个子问题,从子问题得到最优子结构,向大问题递推—下一阶段的最优解应该能够从当前阶段的子问题的最优解中导出,被称为最优子结构性质。易得一个最小的数塔是从二层开始的,得到二层数塔可以递推到三层数塔,为满足无后效性和最优子结构从数塔的底层向上递推。切当前已求解的子问题不受后序阶段的影响,这个条件被称为无后效性。

2026-03-22 12:21:57 13

原创 小猫爬山(dfs 剪枝

【代码】小猫爬山(dfs 剪枝。

2026-03-18 23:40:49 16

原创 拓扑排序(模版

拓扑排序不在乎自环和重复边,因为自环不会入队列,重复边会早晚入队列。每次把入边都减1,减为0的加入拓扑排序队列,并且更新答案。

2026-03-18 22:22:23 11

原创 01背包(模版

【代码】01背包(模版。

2026-03-18 00:23:31 16

原创 110. 防晒(贪心、结构体排序

【代码】110. 防晒(贪心、结构体排序。

2026-03-16 00:24:37 17

原创 109. 天才ACM(二分、倍增

倍增比二分快了一个logn。

2026-03-15 23:24:30 15

原创 分析牌谱1

11.亲家w立,我四位,手牌好型,也要勇敢的去打筋牌。8.即使是晚巡,在杠后也应该立直去搏25s的半筋。2.注意3p山存,和现物枚数,25p很少。4.手牌很差,出现两边张,不要拆愚形。9.有两个坎张,要看到七对。10.手牌很差早巡注意弃胡。13.防守要对刚碰的壁敏感。

2026-03-15 19:02:20 17

原创 102. 最佳牛围栏(前缀和、二分、思维

就是维护一个长度为L的前缀和数组,每次遍历前缀和数组元素时减去连续长度为L的区间里前缀和最小值的,这样的差最大,和前言问题相比可以满足最小值为负数,所以也就是满足了长度大于等于L。1.求一个连续子串的最大值,这个是一个经典问题,O(n)遍历相加和,若为负数则清零,过程中记录的和最大值就是连续子串的最大值。易得考虑二分去单调减去一个平均数,求一个长度大于等于L的总和大于等于0的连续子串。转换题目就是求一个平均数最大,且长度大于等于L的连续子串。

2026-03-14 22:10:39 15

原创 101. 最高的牛(差分

【代码】101. 最高的牛(差分。

2026-03-14 21:17:08 14

原创 100. 增减序列(差分数组、思维

故结果是min(positive,negative)+abs(negative-positive)=max(ne,po);考虑到sub1的结果会被abs(negative-positive)影响,加上原sub1,易得如果正负差分同时增减1则效率最高==》min(positive,negative)2.得到差分数组后考虑sub1是开始,若后面2~n差分数组都是0,则结果全相等。加上剩余正数较多或者负数较多的差分数组,把它和sub1相互增减。故有abs(negative-positive)+1。

2026-03-14 20:21:44 18

原创 指数型枚举(dfs 模版

【代码】指数型枚举(dfs 模版。

2026-03-13 20:29:05 12

原创 八皇后(dfs 模版

【代码】八皇后(dfs 模版。

2026-03-13 00:09:12 12

原创 全排列(dfs模版

【代码】全排列(dfs模版。

2026-03-12 23:00:51 14

原创 3 二进制得分(dfs,模拟,bitset

【代码】3 二进制得分(dfs,模拟,bitset。

2026-03-11 20:47:13 12

原创 二进制的回文层数(递归模版+思维

时间复杂度是logN。

2026-03-10 00:28:24 15

原创 797. 差分(差分模版

给区间l和r赋值,就是在l位置+x :一直到最后一个都+x。在r+1位置-x,这样抵消r+1多余的x。最后通过前缀和求出原数组s。

2026-03-09 23:07:35 15

原创 796. 子矩阵的和(二维前缀和模版

【代码】796. 子矩阵的和(二维前缀和模版。

2026-03-09 22:22:08 17

原创 795. 前缀和(前缀和模版

【代码】795. 前缀和(前缀和模版。

2026-03-09 22:02:08 12

原创 789. 数的范围(二分模版

【代码】789. 数的范围(二分模版。

2026-03-09 21:48:26 9

原创 239. 滑动窗口最大值 (单调队列 模板

情况二:如果队尾的值小于等于当前值,则pop_back()情况一:判断数组值是否在滑动窗口的范围。情况三:将当前值加入队尾,队头作为答案。单调队列是求解滑动窗口的最大值。

2024-01-13 23:30:44 548

原创 739. 每日温度 (单调栈)

从后向前遍历,如果栈中比当前温度小或等于的直接舍弃,保证栈顶的温度是比当前温度高的,最后将当天温度加入栈顶。

2024-01-13 23:04:23 483

原创 162. 寻找峰值 (思维二分

左边值比中间值小则调整l。

2024-01-13 18:41:26 517

原创 162. 寻找峰值 (二分 模板)

mid=l+r+1>>1 if(check())l=mid else r=mid-1 右区间。

2024-01-13 18:33:46 521

原创 3. 无重复字符的最长子串 (同向双指针

【代码】3. 无重复字符的最长子串 (同向双指针。

2024-01-13 00:21:55 436

原创 LCR 009. 乘积小于 K 的子数组(同向双指针

同向双指针 固定r指针 滑动窗口 for +while。

2024-01-13 00:21:07 440

原创 LCR 008. 长度最小的子数组 (同向双指针

滑动窗口 固定右指针。

2024-01-13 00:04:26 464

原创 42. 接雨水 (双向双指针 最大前缀和后缀)

左右两边的前缀和后缀最低高度来决定最终的水体积,最终的min-高度为可存储的水。

2024-01-12 22:36:09 465

原创 11. 盛最多水的容器 (相向双指针)

如果一个边a固定,则比他小的边b长度只会更小,高也会更低,面积也就更小,如果是比他大的边b,会被a的更矮边作为面积,同时长也会更小。

2024-01-12 22:09:29 448

原创 15. 三数之和 (相向双指针

三个指针,分别i,i+1,n-1,双重循环遍历,如果当前i或j与上一个重复则忽略。

2024-01-12 22:05:38 449

原创 167. 两数之和 II - 输入有序数组(双指针

【代码】167. 两数之和 II - 输入有序数组(双指针。

2024-01-06 20:04:32 565 1

原创 2982. 找出出现至少三次的最长特殊子字符串 II (规律 分类讨论

情况1:只有一个最长字串L1,那最长长度就是L1-2。情况2a:两个子串,长度不同时,则取最小的哪个长度。找三个长度最长的子串,先把相同字母的字串统计起来。情况2b:两个子串长度相同时,取最小长度L2-1。情况3:三个子串中取最小的长度L3。

2024-01-06 17:21:53 501

原创 2980. 检查按位或是否存在尾随零 (数论)

或运算使位尾为0,找两个偶数即可。

2024-01-06 17:15:14 457

原创 P1196 [NOI2002] 银河英雄传说 (并查集 合并

添加链接描述

2022-07-10 11:41:46 593

原创 P6154 游走(记忆化搜索

添加链接描述

2022-06-11 15:04:32 479

C++基础与高级特性系统笔记:涵盖Linux环境搭建、C++核心语法、面向对象编程、模板元编程及STL容器深度解析

c++个人项目笔记

2026-03-06

C++基于移动语义与RAII的资源管理机制研究:智能指针在堆内存与文件资源中的应用

内容概要:本文深入讲解了C++11中的移动语义与资源管理机制。首先通过自定义String类引出拷贝构造中存在的资源浪费问题,进而介绍右值引用的概念及其与左值的区别,详细阐述移动构造函数和移动赋值函数的设计原理与实现方式,强调移动语义在提升性能方面的优势。随后文章转向资源管理,提出RAII(资源获取即初始化)技术,利用对象生命周期自动管理资源,并结合智能指针(auto_ptr、unique_ptr、shared_ptr、weak_ptr)详解其在内存、文件等资源管理中的应用,重点分析shared_ptr的循环引用问题及weak_ptr的解决方案,最后探讨删除器的定制化使用与智能指针的常见误用场景。; 适合人群:具备C++基础,熟悉类、构造函数、析构函数

2026-03-05

【面向对象编8程】基于C++的多态机制详解:虚函数表与动态.联编在继承体系中的应用与优化

内容概要:本文系统讲解了面向对象编程中的多态机制,重点围绕C++语言展开,深入剖析了多态的基本概念、实现原理及其技术细节。文章首先介绍了多态的含义与价值,强调其在降低代码耦合度和提升可扩展性方面的作用,并区分了编译时多态与运行时多态两种形式。随后详细阐述了虚函数的定义、实现机制(包括虚函数表vfptr与虚表VTable)、动态联编过程,以及虚函数在指针、引用、对象等不同调用方式下的行为差异。文章进一步探讨了纯虚函数与抽象类的设计意义,解释了虚析构函数对防止内存泄漏的重要性,并辨析了重载、重写与重定义三者的区别。最后通过虚表验证、多继承二义性、虚拟继承等内容深化理解,全面展示了多态在复杂继承体系中的表现与影响。; 适合人群:具备C++基础、熟悉类与继承机制,有1-3年开发经验的程序员或计算机专业学生; 使用场景及目标:①深入掌握多态的核心机制与底层实现原理;②理解虚函数表、抽象类、虚析构函数等关键技术在实际项目中的应用;③解决多继承、对象销毁、内存泄漏等相关问题; 阅读建议:学习时应结合代码实例进行调试与内存布局分析,重点关注虚函数调用流程与继承体系下的构造/析构顺序,建议动手实现文中示例以加深理解。

2026-03-05

空空如也

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

TA关注的人

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