Commit Graph

313 Commits

Author SHA1 Message Date
9f190cb94c fix(P3102): 修正动态规划计算逻辑和输出格式
将加法操作改为乘法操作以正确计算组合数,并简化输出结果的格式
2025-11-14 17:05:09 +08:00
3c29bca56e refactor(P3102): 重构字符串处理逻辑为动态规划实现
将原有的暴力匹配算法重构为基于动态规划的解决方案,提高计算效率
添加了调试输出和模数运算支持
2025-11-14 17:04:30 +08:00
66740ddb77 feat: 添加P8905.cpp和P3102.cpp两个题目解答
添加了两个编程题目的解答代码文件,分别处理图论问题和字符串匹配问题
2025-11-14 11:28:11 +08:00
f6d958f00a feat: 添加子集和计算功能
实现通过位运算计算子集和并统计出现次数
2025-11-13 19:03:43 +08:00
71bb5fe79f feat: 添加两个算法题目解决方案
添加P8187.cpp和P7297.cpp两个算法题目的解决方案代码。P8187实现了一个简单的点比较算法,P7297实现了一个基于优先队列的图搜索算法。
2025-11-13 13:28:41 +08:00
44be3ee092 feat: 添加多个算法题目解决方案
添加P5542.cpp、P1115.cpp、P6100.cpp和P4188.cpp的解决方案
更新P2258.cpp的实现,增加矩阵处理逻辑
2025-11-12 17:55:32 +08:00
5b166bcd0e refactor(P11362): 优化模运算代码以提高可读性
将重复的模运算提取为常量one和both,避免重复计算
2025-11-10 10:46:57 +08:00
3c2f4aef64 fix(P11362): 修复计算逻辑错误并添加集合清理
修复连续元素判断时的计算逻辑,将加法改为乘法运算以确保正确性
添加s.clear()以避免前次测试数据影响
2025-11-09 22:37:17 +08:00
e95cd401c4 refactor: 重写 P11362.cpp 并优化算法实现
将原文件从 src/8/11 移动到 src/11/8 并完全重写实现
使用更简洁的算法逻辑处理输入数据并计算结果
移除冗余的幂运算函数,直接使用模运算简化计算过程
2025-11-08 23:09:32 +08:00
3abd9891ef feat: 添加三个算法题目解决方案
添加P14359、P14358和P14360三个题目的C++实现代码
P14359实现异或操作计数功能
P14358解决矩阵中元素定位问题
P14360使用动态规划计算合法子集数
2025-11-08 16:05:33 +08:00
712609a466 feat: 实现从输入字符串中提取并排序数字的功能
添加头文件并实现从输入字符串中提取数字字符,按降序排序后输出
跳过前导零以避免无效输出
2025-11-06 21:16:12 +08:00
9c505e630f feat: 添加多个算法题目解决方案
添加P14357.cpp、employ.cpp、replace.cpp、road.cpp和club.cpp的初始实现
refactor: 移除P14361.cpp中未使用的dfs函数和smallsolve函数
2025-11-06 21:00:34 +08:00
bdd74246a7 perf: 在循环内重置mcj以减少不必要的重置操作 2025-11-06 18:33:03 +08:00
e78435a306 fix(test.cpp): 修正source_location的使用方式
feat(P7114.cpp): 添加字符串处理算法实现
2025-11-06 15:39:42 +08:00
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