Commit Graph

186 Commits

Author SHA1 Message Date
cc3380434c feat: 添加P3660题解实现,使用树状数组计算交叉对数
实现了一个使用树状数组的解法来计算数组中成对元素的交叉对数。通过维护一个访问标记数组和树状数组来高效统计区间和,优化了计算过程。
2025-09-03 17:27:32 +08:00
8aca422b9d feat: 添加P9127题解实现子数组排序与查询功能 2025-09-03 14:34:30 +08:00
17a58ec2aa docs: 更新README并清理测试代码
更新README添加超时优化方法,同时清理test.cpp中未使用的代码
2025-09-02 15:41:38 +08:00
64a6dc8651 refactor: 移除未使用的cstdio头文件 2025-09-02 12:24:23 +08:00
8f654d7c2d feat(P1967): 添加LCA查询功能并优化图结构处理
实现基于倍增法的LCA查询功能,用于计算图中两点间最小边权
- 添加dpth、fth和cost数组用于存储深度、父节点和路径最小权值
- 新增dfs函数初始化上述数组
- 实现lca函数查询两点间最小边权
- 修改主函数处理查询请求并优化并查集初始化
- 移除调试代码并添加必要头文件
2025-09-02 12:24:08 +08:00
727facbee0 feat: 添加P1967.cpp实现最小生成树算法
实现基于优先队列和并查集的最小生成树算法,用于解决图论中的连通问题。包含边的结构定义、合并操作和结果输出功能。
2025-09-02 11:04:17 +08:00
e018452176 fix(P6278.cpp): 修正二进制索引树实现中的错误
修复lb函数中错误的变量使用,将'n'改为'val'
修正upd函数中错误的加法操作,将'n'改为'add'
优化逆序对计算逻辑,调整索引计算方式
2025-09-01 20:28:21 +08:00
9db115d255 refactor(9): 重构P3608.cpp并添加P6278.cpp
将P3608.cpp移动到9/1目录并扩展功能
新增P6278.cpp实现树状数组相关算法
修改test.cpp添加输入处理和异常检查
2025-09-01 15:26:27 +08:00
6acad9f13b feat: 添加P3608.cpp实现逆序对统计与不平衡检测
实现基于树状数组的逆序对统计功能,用于检测序列中的不平衡元素。
通过排序和离散化处理输入数据,计算每个元素左右两侧的逆序对数量,
并判断是否满足不平衡条件(max(l,r) > min(l,r)*2)。
2025-09-01 12:16:57 +08:00
c5c309b935 feat: 添加P5200题解实现,使用树状数组计算逆序对
实现了一个使用树状数组计算逆序对数量的算法,用于解决P5200题目。通过维护树状数组来高效计算区间和,从而确定每个元素的逆序对数量。
2025-08-31 16:17:34 +08:00
8b1f7317ff feat: 实现炮兵阵地问题的动态规划解法
添加动态规划解决方案来计算炮兵阵地的最大部署数量。使用状态压缩和预处理来优化性能,处理输入地图并计算合法状态及其对应的炮兵数量。
2025-08-31 14:23:00 +08:00
84436ffbbe feat: 添加P2704.cpp基础框架 2025-08-31 11:13:06 +08:00
000e34da46 refactor(test.cpp): 替换cstdio为iostream并简化测试逻辑
将测试文件中的cstdio替换为iostream,并移除不必要的指针操作。
简化测试逻辑,直接测试位移操作并输出结果。
2025-08-31 11:12:40 +08:00
522e869e7b refactor(P1896.cpp): 移除未使用的头文件以简化代码
移除<cstdio>和<string>头文件,这些在当前实现中未被使用,减少不必要的依赖
2025-08-30 17:01:49 +08:00
88a1760e0d fix(P1896): 修复循环条件错误和逻辑错误
修复循环条件中缺少自增运算符的问题
修正变量名错误导致的逻辑问题
移除调试用的注释代码
2025-08-30 16:59:18 +08:00
505d9e9c4d feat: 添加P1896.cpp解决棋盘放置问题
实现动态规划算法解决棋盘上放置不互相攻击的国王问题。使用三维数组存储状态,通过位运算检查合法位置,并计算所有可能的放置方案总数。
2025-08-30 16:42:52 +08:00
b4e809156f refactor(P2016.cpp): 移除未使用的头文件和常量
删除未使用的<cstdio>头文件和未使用的常量inf,简化代码结构
2025-08-30 13:46:27 +08:00
8894e59851 feat: 添加P2016.cpp实现最小顶点覆盖算法
实现了一个动态规划算法来解决树结构的最小顶点覆盖问题。使用深度优先搜索遍历树结构,并通过动态规划计算每个节点的两种状态值,最终输出根节点的最优解。
2025-08-30 13:43:05 +08:00
a026979a58 refactor: 移除未使用的utility头文件 2025-08-30 12:15:54 +08:00
db685782e1 feat: 添加动态规划解决能量项链问题
实现动态规划算法计算将能量项链合并为一堆时的最大总能量。使用二维数组存储中间结果,通过三重循环计算所有可能的合并方式,最终输出最大能量值。
2025-08-30 12:13:29 +08:00
5e23f17133 feat: 添加P2014题目解决方案实现动态规划算法
实现基于树形动态规划的课程选修问题解决方案,计算在限定课程数量下能获得的最大学分。使用深度优先搜索遍历课程依赖关系,并通过动态规划状态转移求解最优解。
2025-08-29 15:59:18 +08:00
52b2321a96 feat: 实现动态规划解决奶牛逃跑问题
添加P4267.cpp文件,实现动态规划算法计算奶牛逃跑序列的最小修改次数。算法使用二维DP数组存储状态,并通过预处理计算区间修改成本。解决给定n头奶牛在不同逃跑次数下的最小不一致数量问题。
2025-08-29 14:17:10 +08:00
91aa4d02bc feat: 实现石子合并问题的动态规划解法
添加完整的动态规划实现来计算石子合并问题的最小和最大得分
优化输入输出性能并修复原未实现的代码
2025-08-29 12:04:25 +08:00
22e2db73d9 refactor(P4342.cpp): 优化动态规划实现并修复计算逻辑
重构动态规划的实现方式,将原来的双重循环改为基于长度的遍历,提高代码可读性和效率。同时修复了最大值和最小值的计算逻辑,确保正确处理加法和乘法操作。添加结果收集和输出部分,完善程序功能。
2025-08-29 10:14:01 +08:00
84eee83148 feat(P4342): 实现动态规划算法解决环形表达式问题
添加动态规划表初始化及输入处理逻辑
包括同步IO优化和环形操作符数组处理
2025-08-28 21:23:39 +08:00
2573240c73 docs: 更新README并添加动态规划算法模板
添加算法笔记标题到README.md
新增两个动态规划算法模板文件:
- opj8782.cpp:处理数字串添加乘号的最大值问题
- P4342.cpp:处理区间合并的最大最小值问题
2025-08-28 16:11:01 +08:00
37f3373029 feat: 添加P4267.cpp空模板文件并更新README文档
refactor: 重命名变量以提高代码可读性
将max_len改为maxlen,predecessor_k改为pk,max_lcsis改为maxlen,end_j改为endj,result_stack改为res,curr_i改为curri,curr_j改为currj

chore: 移动sort-matrix-by-diagonals.cpp文件位置
从src/8/27/移动到src/8/28/并更新内容
2025-08-28 15:16:31 +08:00
830b825fbf feat: 添加矩阵对角线排序和V形对角线最长段算法
refactor: 优化最长公共递增子序列算法实现
2025-08-28 14:14:16 +08:00
8b49a88aa9 update 2025-08-27 20:29:44 +08:00
f8994b5c7c update 2025-08-27 16:51:18 +08:00
c200843ae3 update 2025-08-26 17:38:15 +08:00
704ffb6b91 update 2025-08-26 16:34:36 +08:00
8f3a0f8984 update 2025-08-26 16:11:12 +08:00
f39b892175 update 2025-08-26 15:51:38 +08:00
4f984539f1 update 2025-08-26 15:11:31 +08:00
ac99a0f6fb update 2025-08-26 13:48:30 +08:00
27ecded092 update 2025-08-26 12:49:41 +08:00
2e204e29b6 update 2025-08-25 21:00:08 +08:00
797976b853 update 2025-08-25 17:25:22 +08:00
a8ea175f77 update 2025-08-25 14:34:28 +08:00
d9a9164d21 update 2025-08-25 11:27:39 +08:00
d704fe09d4 update 2025-08-25 11:25:01 +08:00
783bc1aac5 update 2025-08-24 15:39:48 +08:00
d9493a024b update 2025-08-23 19:55:38 +08:00
76df104990 update 2025-08-23 17:40:07 +08:00
d8dd0c81b1 update 2025-08-23 13:57:11 +08:00
75cc4f03e5 update 2025-08-23 11:18:42 +08:00
42fd440053 update 2025-08-23 10:49:44 +08:00
8b7ef64107 update 2025-08-22 21:03:00 +08:00
8d2960a1ae update 2025-08-22 20:50:15 +08:00