|
|
abf764a938
|
feat: 添加测试代码和P1563问题解决方案
添加test.cpp的打印功能实现
新增P1563.cpp解决算法问题
|
2025-11-06 11:34:35 +08:00 |
|
|
|
197e613574
|
feat: 添加字符串哈希处理功能
实现基于Z算法的字符串哈希处理,用于计算特定模式的出现次数和统计字符出现奇偶性。包含输入处理、Z数组计算和结果统计逻辑。
|
2025-11-05 19:02:08 +08:00 |
|
|
|
f67a1ebcb3
|
fix(P3953): 修复DFS逻辑错误并添加调试输出
修复DFS函数中节点1的处理逻辑,调整nk的比较运算符,并添加printf调试输出
优化solve函数中dp数组的初始化范围
|
2025-11-05 18:37:07 +08:00 |
|
|
|
5cb2778d2c
|
feat(P3953): 实现基于DFS的路径计数算法替代BFS
用DFS加记忆化搜索替换原有的BFS实现,解决大规模数据下的性能问题
新增距离数组d和动态规划数组dp来优化计算
添加反向图re支持逆向搜索
处理路径计数中的环检测和边界条件
|
2025-11-05 16:17:11 +08:00 |
|
|
|
a788926d44
|
feat: 添加P3953.cpp实现最短路径计数功能
实现了一个基于Dijkstra算法的最短路径计数解决方案,用于计算在给定约束条件下从起点到终点的路径数量。包含输入处理、最短路径计算和路径计数逻辑。当路径步数超过阈值时返回-1,否则返回路径数模p的结果。
|
2025-11-05 14:18:47 +08:00 |
|
|
|
8aeb58ec32
|
feat: 添加三个算法题目解决方案
添加了三个算法题目的解决方案文件:
1. P3951.cpp - 实现简单的数学计算
2. P14362.cpp - 基础IO优化设置
3. P3952.cpp - 实现复杂度分析器,判断代码块的时间复杂度
|
2025-11-05 10:44:23 +08:00 |
|
|
|
e75cbc7b1b
|
feat: 添加P14361.cpp解题代码实现
实现了一个解决特定问题的算法,包含深度优先搜索和贪心策略。对于小规模输入使用DFS,大规模输入采用排序和贪心选择策略来优化性能。
|
2025-11-04 13:38:26 +08:00 |
|
|
|
d4b17f35cc
|
feat(P5022): 添加树遍历算法以处理带删除边的特殊情况
实现新的DFS算法来处理当m≠n-1时需要尝试删除每条边的情况。添加了新的数据结构来存储边信息和比较不同删除方案的结果。当检测到环时,会尝试删除每条边并比较所有可能的遍历顺序,选择字典序最小的方案。
|
2025-11-04 11:10:05 +08:00 |
|
|
|
ce9f41f580
|
feat: 添加P5022题的DFS解法实现
实现基于优先队列的DFS遍历算法,用于解决图论题目P5022。使用bitset标记访问节点,确保正确遍历无向图。
|
2025-11-04 09:47:51 +08:00 |
|
|
|
9541f97f8b
|
refactor(P7074): 重构动态规划解法并优化路径计算逻辑
重构了P7074问题的解决方案,将原来的二维DP扩展为三维状态表示,以更精确地跟踪不同移动方向的最大路径和。新增了对特殊情况的处理(如单格、单列情况),并添加了详细注释说明算法逻辑。
同时清理了test.cpp文件中的冗余代码,仅保留main函数框架。
|
2025-11-02 14:40:52 +08:00 |
|
|
|
4e419a46c7
|
refactor: 重构并移动代码文件位置
将P11233.cpp从7/28目录移动到10/28目录并实现新功能
添加P9753.cpp解决括号匹配计数问题
|
2025-10-28 22:13:56 +08:00 |
|
|
|
e48cc83bfb
|
docs: 更新README.md添加找规律章节
添加找规律章节内容,包括列出规则、模拟样例和自己构造样例的方法
|
2025-10-27 22:07:06 +08:00 |
|
|
|
90fee25d70
|
feat: 添加P9117.cpp实现网格颜色更新功能
实现一个处理网格颜色更新的解决方案,根据输入操作更新行和列的颜色,并输出最终网格状态。支持多测试用例处理。
|
2025-10-27 20:05:44 +08:00 |
|
|
|
c96882f67e
|
fix(P7990.cpp): 修复比较运算符缺少const修饰符的问题
feat(yacs101.cpp): 添加新题目解法,计算奇偶数乘积
refactor(P1495.cpp): 移除未使用的扩展欧几里得算法实现
refactor(P3811.cpp): 重构模逆元计算,使用扩展欧几里得算法
|
2025-10-27 14:41:23 +08:00 |
|
|
|
03f57b7619
|
feat: 添加P11454.cpp解题代码实现
实现了一个基于BFS的算法来解决P11454问题,包括输入处理、边界处理和结果计算。代码包含调试输出和性能优化措施。
|
2025-10-25 22:39:05 +08:00 |
|
|
|
413d070dbb
|
feat: 添加三值逻辑问题解决方案及测试代码
实现P9869问题的解决方案,包含主逻辑处理文件和测试文件。主文件处理三值逻辑(T/F/U)的变量赋值和关系操作,测试文件提供更详细的实现和注释。添加路径压缩和环检测机制来正确处理逻辑依赖关系。
|
2025-10-25 20:24:35 +08:00 |
|
|
|
5df5ae14a2
|
docs(P7961): 添加NOIP 2021难题P7961的详细题解文档
添加关于组合计数、动态规划和二进制思想的详细解析,包含思路分析、DP状态设计、转移方程推导及优化方法。文档提供了完整的C++代码实现及注释,帮助理解如何将复杂问题分解为可管理的DP步骤。
|
2025-10-24 11:08:45 +08:00 |
|
|
|
a339d17df5
|
feat: 添加P7960和P7961题解并优化P5835代码
添加两道新题目的解决方案:
1. P7960.cpp实现数字7相关筛选算法
2. P7961.cpp实现组合数学问题的DFS解法
优化P5835.cpp的逆序对计算:
- 修改合并排序的比较条件
- 改进权重分配逻辑
- 增加代码可读性和注释
|
2025-10-23 17:59:16 +08:00 |
|
|
|
f85c0df2f1
|
feat: 添加P5835题解实现,计算最小碰撞次数
21/100pts
实现了一个算法来计算在特定条件下粒子碰撞的最小次数。主要包含以下功能:
1. 读取输入数据并初始化粒子信息
2. 根据粒子运动方向计算碰撞时间
3. 使用归并排序统计逆序对数作为碰撞次数
|
2025-10-23 00:10:19 +08:00 |
|
|
|
3f0a46735d
|
refactor(P11670.cpp): 优化计算逻辑并重命名变量以提高可读性
- 将变量anumcnt重命名为apos和bpos以更清晰表达用途
- 重构计算逻辑,使用双指针方法替代原有循环
- 添加排序操作以提高计算效率
|
2025-10-22 16:53:29 +08:00 |
|
|
|
7148637cb3
|
feat: 实现P11670题目的解法
添加算法逻辑来计算题目要求的答案,包括输入处理和结果计算
|
2025-10-22 16:29:14 +08:00 |
|
|
|
40fbda7ec8
|
feat: 添加P11670.cpp基础代码结构
添加新的解决方案文件,包含基本的IO优化设置
|
2025-10-22 12:52:50 +08:00 |
|
|
|
dd8d4cb398
|
fix(P4087): 修复奶牛计数逻辑错误
修正判断条件,确保在奶牛数量变化时正确计算答案。移除冗余变量just_one_was_max,使用wasmaxcnt和ismaxcnt更精确地跟踪数量变化。
|
2025-10-21 16:44:48 +08:00 |
|
|
|
9b0d719c15
|
refactor(P7299.cpp): 移除未使用的vispos变量以简化代码
|
2025-10-21 15:12:55 +08:00 |
|
|
|
47b4928966
|
fix(P7299): 修正牛位置交换逻辑和结果计算方式
修复牛位置交换时的gotopos更新逻辑,将结果存储从vector<ll>改为vector<set<ll>>以正确计算最终位置集合大小
|
2025-10-21 15:11:53 +08:00 |
|
|
|
f663a7e270
|
feat: 添加P7299.cpp解决奶牛位置交换问题
实现奶牛位置交换问题的解决方案,包括位置跟踪和并查集操作来计算最终位置。通过输入处理、位置交换记录和结果计算,输出每头奶牛的最终位置访问次数。
|
2025-10-21 14:22:11 +08:00 |
|
|
|
65e1874d65
|
feat: 添加P4087题解实现
实现P4087题目解决方案,包括输入处理、排序和统计逻辑。使用map维护奶牛产奶量排名变化,计算需要更新广告牌的次数。
|
2025-10-21 12:09:14 +08:00 |
|
|
|
779ef8b327
|
feat: 添加奶牛碰撞模拟算法实现
实现奶牛碰撞模拟算法,包括交叉点检测、排序处理和动态规划计算责备数。该算法通过几何条件筛选潜在碰撞点,按空间位置排序后模拟处理碰撞事件,使用动态规划高效计算每头奶牛的最终责备数。
|
2025-10-20 11:52:54 +08:00 |
|
|
|
88b33ff757
|
feat: 添加两道编程题解 P7556 和 P9124
添加两道编程竞赛题解:
1. P7556.cpp 实现集合元素组合验证逻辑
2. P9124.cpp 使用二分查找解决优化问题,处理大数运算防止溢出
|
2025-10-20 09:46:06 +08:00 |
|
|
|
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 |
|