自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 解题报告006 -- 机器人饲养指南(CCF CSP认证37-2)

本文探讨了如何分配n个苹果给机器人以获得最大快乐值的问题。分析表明该问题本质上是资源分配优化,类似于无限背包问题。贪心算法因无法保证全局最优而被否定,转而采用动态规划解法。动态规划通过定义状态dp[i]表示i个苹果的最大快乐值,并利用状态转移方程dp[i] = max(dp[i], dp[i-j] + A[j]),系统性地比较所有可能的分配方案。算法时间复杂度为O(n×m),空间复杂度为O(n)。实验证明动态规划能正确处理贪心算法失效的案例,确保获得全局最优解。该资源分配模型可广泛应用于投资组合、生产计划等

2025-11-24 21:48:09 859 1

原创 解题报告005 -- 广度优先遍历练习题

该问题要求通过加1、减1、乘2三种操作将整数n变为k,求最少操作次数。采用BFS算法,将每个整数视为节点,操作作为边,通过队列处理状态并记录步数。剪枝策略包括限制数值范围(1到2e5+10)和去重处理。当n≥k时直接返回n-k。样例测试验证了算法的正确性,时间复杂度为O(MAX_N)。BFS适用于此类状态转移简单的最短路径问题,通过合理剪枝可高效求解。

2025-08-21 21:52:57 576

原创 广度优先遍历

广度优先搜索(BFS)是一种基于队列的遍历算法,适用于等权边最短路或最小操作数问题。其核心是逐层扩散,确保首次到达目标即为最短路径。BFS通过队列维护待访问节点,标记已访问节点避免重复,并支持记录距离和路径。适用于图的遍历、最短路径(边权相同)、连通性分析及状态空间搜索(如迷宫)。时间复杂度为O(V+E)(邻接表)或O(V²)(邻接矩阵),空间复杂度O(V)。以迷宫问题为例,BFS可高效求解起点到终点的最少步数,若不可达则返回-1。

2025-08-20 23:58:51 2187

原创 解题报告004 -- 带分数

本文介绍了如何用1-9的数字不重复地组成带分数形式表示给定整数N的方法。通过分析问题特征,设计了一个DFS算法生成所有数字排列,并枚举分段点验证满足条件的组合。算法利用剪枝优化,时间复杂度约为10^7次操作。文中提供了C++实现代码,并讨论了使用STL库函数替代DFS的可能性。该问题展示了排列组合与数学约束结合的典型解法,适用于类似数字重组问题的求解。

2025-08-19 01:22:45 426

原创 解题报告003 -- 五子棋对弈

本文研究了5×5五子棋棋盘下满后出现平局的棋局数量问题。通过DFS递归搜索所有可能的落子状态,结合剪枝优化和胜负检查,计算出满足条件的平局棋局共有3,126,376种。文章详细介绍了算法设计思路,包括状态表示、剪枝策略和胜负判断方法,并提供了完整的C++实现代码。该解法虽然适用于小规模棋盘,但对于更大规模的棋盘需要进一步优化。

2025-08-18 21:36:06 1984

原创 解题报告002 -- 美味的蛋糕值

本文解决了一个蛋糕选择问题,要求在n个蛋糕中选择若干美味值之和小于k的最大组合。由于n≤18,采用两种枚举方法:1)DFS回溯法,通过剪枝优化;2)二进制枚举法,遍历所有子集。两种方法的时间复杂度均为O(2^n),在数据规模下可行。虽然问题可转化为01背包变种,但枚举法已足够高效。给出了完整的C++实现代码,并通过边界条件处理确保正确性。

2025-08-18 16:11:28 475

原创 解题报告001 - N皇后问题

N皇后问题是一道极其经典的回溯算法题,本文记录了思考过程和求解方法(最终代码可直接空降文末),重点探讨了回溯算法的优化。首先描述了问题的限制条件:在N×N棋盘放置N个皇后,要求互不攻击。通过分析数据规模(N≤10),采用深度优先搜索(DFS)的回溯算法。文中详细讨论了初始实现中存在的效率问题,如二维数组存储导致检查冗余,并提出改进方案:使用一维数组存储皇后位置,将列冲突和对角线检查提前到放置过程中。最终实现的算法通过实时检查冲突、优化数据结构维度,显著提升了性能。

2025-08-17 21:16:41 1041

原创 两种枚举类型(排列型枚举和子集枚举)

本文记录了两种经典枚举类型题目:排列型枚举和子集枚举。以及对应的经典题目和解法:循环/递归(DFS)/二进制枚举。

2025-08-17 15:02:47 1974 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除