- 博客(13)
- 收藏
- 关注
原创 【P3397-地毯 二维差分算法解析】
的问题:矩阵 / 方阵的矩形区域批量加 / 减操作;网格 / 地图的区域覆盖次数统计(如本文示例);图像处理中的区域像素值修改;竞赛题中的二维区间更新问题(如 NOIP、蓝桥杯等)。
2026-01-26 20:22:30
394
原创 【洛谷 P2367 语文成绩 - 差分算法详解与代码实现】
本文介绍了差分算法及其应用。差分数组通过记录相邻元素差值,可将区间修改操作优化为O(1)时间。文章以洛谷P2367语文成绩题为例,展示了如何用差分算法高效处理大规模区间加法操作。核心思路是:通过修改差分数组的两个端点值实现区间加减,最后通过前缀和还原结果。关键点包括:下标从1开始避免越界、差分数组需多开一位处理边界、时间复杂度从O(p×n)优化到O(n+p)。代码实现简洁,适用于大规模数据处理。
2026-01-25 19:58:49
789
原创 【算法入门|前缀和 (Prefix Sum) 一维 + 二维 模板与例题】
前缀和是一种高效解决区间求和问题的算法思想,分为一维和二维两种形式。一维前缀和通过预处理数组,将区间求和转化为公式计算(sum[r]-sum[l-1]),实现O(1)查询。二维前缀和则扩展至矩阵,通过sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+arr[i][j]预处理,快速计算任意子矩阵和。关键注意事项包括:使用long long防止溢出、数组下标从1开始避免边界问题。典型题目如洛谷P8218(一维区间和)和P1719(二维最大子矩阵和)。
2026-01-19 20:27:51
720
原创 C++深度优先搜索(DFS)回溯算法实战
摘要:本文解析洛谷P2089烤鸡问题,要求枚举10种配料(1-3克)组合使美味度总和等于n。采用DFS+回溯算法,通过递归枚举所有可能组合,利用剪枝优化效率。核心代码展示了选择、递归、回溯的经典模板,详细解释了字符串拼接和vector存储方案的技术细节。文章包含完整C++实现代码,并重点分析了DFS终止条件、剪枝策略以及string/vector的常用操作,为零基础学习者提供了清晰的算法思路和实现方法。
2026-01-15 21:01:38
784
原创 【C++ 小数除法与百分比求解 格式化输出案例】
在 C++ 编程中,两数相除并按需求保留指定小数位是基础又高频的应用场景,无论是基础运算练习还是实际开发中的数据计算,都常会用到该功能。本次分享一段简洁高效的代码,实现输入两个浮点型数字完成除法运算,精准保留 9 位小数输出,同时讲解代码中的核心知识点与避坑要点,代码简单易懂,新手也能快速掌握运用。
2026-01-14 20:26:16
854
原创 【✅ 洛谷 P1102 A-B 数对 详解 双解法:哈希统计 + 二分查找】
题目要求统计满足A-B=C的数对个数。给出了两种解法:map解法和二分查找法。map解法通过统计每个数出现的次数,然后遍历数组计算符合条件的数对个数,时间复杂度O(nlogn)。二分查找法先将数组排序,然后对每个数A,通过二分查找找到B=A-C的左右边界,计算出现次数,时间复杂度同样为O(nlogn)。两种方法都能有效解决问题,适用于大规模数据。
2026-01-13 21:50:28
940
原创 C++ STL set 经典应用:洛谷P5250 木材仓库 详细讲解(附代码)
面对高达 100,000 次的木材进货与出货指令,普通写法早已手忙脚乱,而掌握 C++ STL 的「约尔・福杰」,只当是一场优雅的兼职任务。化身优雅间谍,手握std::set这把无形利刃,轻松拿捏仓库管理的两大核心需求:进货时,借 set 自动去重的特性,利落拒绝重复木材,不拖泥带水;出货时,摒弃粗鲁的暴力遍历,用lower_bound与upper_bound精准检索目标长度,如约尔掷出匕首般干脆。(附 AC 完整代码)
2026-01-12 19:18:23
914
1
原创 (已解决) Mybatis新手常见错误:Mapped Statements collection already contains value for project....
同一个方法只使用xml映射或者使用注释映射。把其中一个方法名修改一下就好了。注释下面不要使用重载方法。
2024-07-02 18:29:59
482
原创 初学java,偶遇空指针异常
当我在做ATM项目的密码修改时,idea报错了。 我立即在百度了解空指针异常(是指调用了方法,但对象为空)但我当时并不是很理解。在Arraylist集合我调用了多个数值,如存款和取款限额。唯独在调用账户的密码,报错了。于是我找到了创建密码位置,我才恍然大悟,原来我扫描器输入了密码,但并没有把密码放入Arraylist,最后我引用了setter方法iead正常运行。 我才明白了在我做密码是否匹配时,集合没有数值(对象为空)才会报错。
2022-11-19 16:13:05
151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅