Commit Graph

270 Commits

Author SHA1 Message Date
32de376783 feat: 添加P9015题解实现
实现一个模拟算法来解决P9015问题,根据输入数组的值控制移动方向并输出路径。当遇到边界或特定条件时改变方向,直到所有元素耗尽。
2025-10-18 18:53:57 +08:00
65fe11a140 feat: 实现线段树功能并优化.gitignore
添加线段树实现,支持区间加、乘和查询操作
移除.gitignore中/test.*前的斜杠以正确忽略测试文件
2025-10-17 23:37:34 +08:00
e867cd207f feat: 添加P7990题解实现
实现P7990问题的解决方案,包括输入处理、排序算法和贪心策略。主要功能是计算在给定条件下能够获得的最大价值。

- 处理输入数据并排序
- 使用贪心算法计算各区间的最大价值
- 输出最终结果
2025-10-17 21:02:38 +08:00
8ab26b6389 feat: 添加P10136解题代码并优化P4818逻辑
添加新的解题代码P10136.cpp,实现特定算法功能。同时优化P4818.cpp中的路径检查逻辑,简化条件判断并修复潜在错误。
2025-10-17 01:51:54 +08:00
0937a7a512 feat: 添加P7301.cpp解题代码实现
实现一个矩阵处理算法,计算行和列中奇偶位置元素和的最大值,并输出两者中的较大值
2025-10-16 13:36:51 +08:00
5546dd0eed fix: 修复P6003.cpp中的计算逻辑错误并调整P6003cal.cpp的打印顺序
修复P6003.cpp中check函数的计算逻辑,优化循环处理并提前返回结果
调整P6003cal.cpp中变量打印顺序以匹配实际计算流程
2025-10-16 11:00:16 +08:00
1f0526403f refactor: 优化P4818.cpp的BFS逻辑并修复bug
重构了P4818.cpp中的BFS算法,使用更清晰的队列结构和状态检查
修复了原代码中状态标记不正确的问题
添加了新的P6003.cpp文件实现二分查找算法
移除CMakeLists.txt中的sanitizer选项
修改P6003cal.cpp为使用固定输入值进行调试
2025-10-16 10:28:04 +08:00
2e2a747e5e refactor: 将quick_exit替换为_Exit以提高代码一致性 2025-10-15 16:30:07 +08:00
e48b8e76d9 feat: 添加P6003cal.cpp和P4818.cpp两个算法实现文件
P6003cal.cpp实现了一个简单的数值计算逻辑,P4818.cpp实现了一个基于BFS的网格路径搜索算法
2025-10-15 13:08:44 +08:00
207da4b699 feat: 添加P8270题目解答实现
实现P8270题目的解答算法,包括字符串处理和动态规划判断逻辑。主要功能是判断两个字符串在特定条件下的匹配关系,并处理多个查询请求。
2025-10-14 21:28:16 +08:00
8441937c61 refactor(P9014.cpp): 修复坐标计算逻辑并移除调试输出
修复坐标计算中的运算符优先级问题,将调试用的printf语句注释掉以保持代码整洁
2025-10-13 20:08:52 +08:00
3db3b11d46 feat: 添加P9014.cpp解决动态网格路径问题
实现动态网格路径计算功能,支持实时更新网格方向并重新计算路径总和。包含初始化网格数据、路径计数和动态更新逻辑。
2025-10-13 20:03:02 +08:00
6752cfbb74 refactor(P7988.cpp): 简化代码结构并优化算法实现
移除未使用的头文件和变量,重构主要逻辑为更简洁的树构建算法。使用set代替deque来维护数据结构,提高查找效率。
2025-10-13 17:35:38 +08:00
cb4242a69d feat: 实现P7988题目的DFS解法
添加DFS函数实现题目要求的逻辑,包括处理最大最小值和使用set进行查找
引入新的数据结构deque和set来辅助计算
添加结果数组ans和索引数组nidx存储计算结果
2025-10-12 23:11:17 +08:00
9d948bead1 refactor(P3879.cpp): 显式声明迭代器类型以增强代码可读性
将auto替换为具体的迭代器类型声明,使代码意图更清晰
2025-10-12 09:49:31 +08:00
63a72b5f14 feat: 添加P3879题目解答实现
实现一个基于map和set的字符串索引系统,用于快速查询包含特定字符串的文档ID。通过同步输入输出流提高性能,适用于大规模数据处理场景。
2025-10-12 09:43:37 +08:00
eb1f6031d1 feat: 添加P7988题目基础代码框架
实现题目P7988的基础代码框架,包括输入处理和基本数据结构定义
2025-10-11 20:56:55 +08:00
de497e2c80 docs: 更新README添加P6476题解易错点
添加P6476题解中的四个关键易错点说明,包括循环顺序、清空操作优化、下标偏移处理以及状态转移公式注意事项
2025-10-11 12:13:40 +08:00
b2c80a8161 feat: 添加P6006.cpp实现三元组计数算法
实现一个动态规划算法来计算满足条件的三元组数量,用于解决特定范围的查询问题。算法通过预处理和动态规划表优化查询效率,并处理了数组边界条件和内存使用问题。
2025-10-11 12:10:13 +08:00
daba2089c4 style: 移除调试注释 2025-10-10 16:32:06 +08:00
9dd416583b perf: 使用更简单的随机数生成器初始化方法
将高精度时钟初始化改为使用 time(nullptr) 以提高性能
2025-10-10 16:24:47 +08:00
67b34507d8 fix(mn1009t2): 修复队列处理逻辑中的数量更新错误
修正队列处理时未正确更新剩余数量的问题,确保计算准确
添加测试用例和性能优化实现
2025-10-10 16:22:52 +08:00
8e8776d58b feat: 添加两个算法题目解决方案
添加P10131.cpp和mn1009t2.cpp两个算法题目的解决方案代码。P10131.cpp解决相邻元素匹配问题,mn1009t2.cpp实现基于双端队列的优化算法。
2025-10-10 16:06:16 +08:00
385380934e feat: 添加P8903题解实现动态规划解法
实现了一个动态规划解决方案来计算最大收益,处理两种不同成本的物品选择。通过预处理前后缀最大值来优化计算效率。
2025-10-09 22:24:44 +08:00
056863889b feat: 添加计算数组最大值与最小值差的程序
实现一个读取数组并计算相邻元素最大值与最小值差的程序,用于处理输入数据并输出结果。
2025-10-09 13:20:58 +08:00
Zengtudor
6c7412f1d2 feat(test.cpp): 添加函数指针测试代码
feat(P2491.cpp): 实现树的直径与滑动窗口算法

添加了测试函数指针的代码,展示如何获取和调用函数指针。
实现了树的直径计算算法,使用BFS找到最长路径,并通过滑动窗口优化求解满足条件的最大距离。
2025-10-05 21:33:51 +08:00
Zengtudor
59ad401d66 feat: 添加P1099题解实现树的直径滑动窗口解法
实现树的直径查找算法,并使用滑动窗口技术优化求解过程。包含BFS找直径、DFS计算分支长度、滑动窗口求最小偏心距等步骤,最终输出树的最小偏心距。
2025-10-05 12:01:01 +08:00
Zengtudor
218bc31cb3 feat: 添加AT_abc232_g.cpp的Dijkstra算法实现
实现基于优先队列的Dijkstra算法,用于解决特定图结构的最短路径问题。包含图的构建、排序处理以及最短路径计算逻辑。
2025-10-05 11:19:37 +08:00
Zengtudor
e70c668e57 feat: 添加5911.cpp和P3391.cpp两个算法实现文件
5911.cpp实现了一个动态规划解决方案,用于解决特定条件下的最优组合问题
P3391.cpp实现了一个基于Treap数据结构的区间反转操作,支持高效区间操作
2025-10-04 20:48:04 +08:00
Zengtudor
4ccd04aeb3 feat: 添加P3959.cpp空文件 2025-10-04 11:53:02 +08:00
Zengtudor
25c16bcf5a feat: 添加P2540题解实现斗地主AI算法
实现基于深度优先搜索的斗地主出牌策略算法,包含单牌、对子、三带、顺子等多种牌型处理
2025-10-04 11:02:30 +08:00
Zengtudor
efab9f4d2e feat: 添加两个图的割点算法实现
实现基于Tarjan算法的割点检测功能,分别用于解决P3388和P8436问题
2025-10-02 20:51:57 +08:00
Zengtudor
9a06eb0821 feat: 实现Tarjan算法查找点双连通分量
添加Tarjan算法实现来查找图中的点双连通分量(v-BCC)。包括处理孤立节点和自环边的情况,并输出每个v-BCC的节点列表。使用手动栈优化性能,并添加详细注释说明算法逻辑。
2025-10-02 20:20:19 +08:00
Zengtudor
1f4768391d feat: 添加P8435.cpp和P4554.cpp解题代码
P4554.cpp实现了一个基于双端队列的BFS算法,用于解决网格图中的最短路径问题
2025-10-02 19:49:52 +08:00
Zengtudor
e66f06db69 feat: 添加三个算法题目解决方案
添加了三个算法题目的解决方案文件:
1. wwfsqf.cpp - 实现树结构的DFS遍历和合并操作
2. P3393.cpp - 实现基于BFS和优先队列的最短路径算法
3. P3831.cpp - 实现基于Dijkstra算法的地铁站最短路径计算
2025-10-02 12:14:04 +08:00
Zengtudor
d94980c638 feat: 添加图遍历算法的初始实现
实现基础的图遍历算法框架,包括输入处理和DFS函数占位
2025-10-02 09:56:34 +08:00
Zengtudor
75c2df61c9 feat: 实现基于0-1 BFS的最大欧式距离计算
添加0-1 BFS算法来计算网格中可达点的最小代价,并在此基础上计算满足条件的两点间最大欧式距离。主要功能包括:
- 实现0-1 BFS算法计算各点到起点的最小代价
- 遍历所有点对,筛选满足代价条件的点对
- 计算并输出最大欧式距离
2025-10-01 21:02:08 +08:00
Zengtudor
cbde29b00b refactor(P3956.cpp): 移除魔法颜色处理逻辑中的冗余代码
简化bfs函数中处理魔法颜色的代码块,删除未使用的变量和重复逻辑
2025-10-01 20:49:03 +08:00
Zengtudor
66ae25f60c feat: 添加P3956.cpp实现网格最短路径算法
实现一个基于优先队列的BFS算法,用于计算在特定规则下的网格最短路径。主要功能包括:
- 处理网格中的颜色变化成本
- 支持魔法格子特殊处理
- 使用四维数组记录不同状态的最短路径
2025-10-01 20:38:44 +08:00
Zengtudor
294780abb5 feat: 添加P3146题目的动态规划解法实现 2025-10-01 12:01:45 +08:00
Zengtudor
da0cc7208d feat: 添加P4170.cpp解决字符串最小染色问题
实现动态规划算法计算字符串的最小染色次数,用于解决P4170题目
2025-10-01 11:38:29 +08:00
Zengtudor
c216681b80 refactor: 将P1775.cpp移动到正确的目录结构
将P1775.cpp从src/10/移动到src/10/1/目录下,保持项目目录结构的一致性
2025-10-01 11:09:40 +08:00
Zengtudor
bdc44c988d docs(P1063): 修正dp数组定义中的区间描述错误
将dp[i][j]的定义从"[1,j]"修正为"[i,j]",以准确反映动态规划区间合并的范围
2025-10-01 10:18:03 +08:00
Zengtudor
1573b1301b feat: 添加P1775动态规划解法实现
实现Luogu P1775问题的动态规划解法,使用区间DP计算最小合并成本
2025-10-01 09:43:05 +08:00
Zengtudor
eb451f8c09 feat: 添加P6279题解实现并查集功能
实现基于并查集的解决方案来处理图的连通性问题,包括合并操作和查找操作。代码包含输入处理和结果输出逻辑,但存在传递性问题需要后续修复。
2025-09-30 21:10:54 +08:00
Zengtudor
c0d1a2f156 feat: 添加P9980题解实现
实现P9980题目的解法,包括输入处理和矩阵运算逻辑。使用动态规划思想计算相邻节点关系,最终输出结果。
2025-09-30 19:32:24 +08:00
Zengtudor
9eba3f859a fix: 移除多余的std::cout语句
修复了在特定条件下出现的多余std::cout语句,该语句没有实际输出内容且可能导致不必要的性能开销
2025-09-30 16:56:21 +08:00
Zengtudor
250e0ca930 refactor: 移动并重写P8866.cpp文件
将P8866.cpp从src/8/12目录移动到src/9/29目录
重写文件内容,添加完整逻辑处理输入输出
2025-09-30 16:33:14 +08:00
0cea6a732c feat: 添加P5658题解实现括号匹配与树遍历算法
实现基于深度优先搜索的括号匹配算法,计算树结构中每个节点的权值并求异或和。主要功能包括:
- 处理输入树结构和括号序列
- 使用栈进行括号匹配
- 动态规划计算节点权值
- 最终结果异或运算
2025-09-27 19:14:00 +08:00
25605159cc feat: 添加日期验证逻辑解决P5690问题
实现日期格式验证功能,根据输入的月份和日期判断其有效性,并输出相应的验证结果。主要处理了月份和日期的各种边界情况,包括非法月份、非法日期以及特殊月份的天数验证。
2025-09-27 16:44:47 +08:00