![](https://img-blog.csdnimg.cn/direct/d4fd25c4eaaf41848284bca5671a78f9.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
信息学奥赛一本通题解
文章平均质量分 90
信息学奥赛一本通题解
天秀信奥编程培训
信息学奥赛老师
展开
-
信息学奥赛一本通基础算法 8 - 广度优先搜索算
题目要求我们在一个数字矩阵中识别和计数由1到9数字组成的“细胞”群。一个细胞群是由相邻(上下左右)的非零数字构成的集合。需要注意的是,0不被视为细胞的一部分。:从矩阵的左上角开始,逐行遍历矩阵的每个元素。对于每个遍历到的非零元素(即细胞),检查是否已经被访问过。如果没有访问过,这意味着我们发现了一个新的细胞群。:当我们遇到一个未访问的非零元素时,使用广度优先搜索算法来遍历这个细胞群的所有成员。BFS通过将当前细胞的所有未访问邻居加入到队列中来工作,然后逐个处理队列中的元素,直到队列为空。原创 2024-02-08 11:54:20 · 489 阅读 · 0 评论 -
信息学奥赛一本通基础算法 9 - 动态规划
这个问题是一个典型的动态规划问题,可以通过自底向上的方法来解决。基本思路是从金字塔的底部开始,逐步向上计算每个点到底部的最大路径和,直到达到顶部。这样,到达每个点的最大路径和就是从它下方两个点的最大路径和中较大的那个加上当前点的值。这段代码首先读入行数R,然后读入每一行的数字存储到一个二维vector中。之后,它使用一个自底向上的动态规划方法来计算到达金字塔每一层每一个点的最大路径和。对于金字塔中的每一个点,我们查找它下面两个点的最大路径和,将其加到当前点的值上。原创 2024-02-05 09:51:15 · 354 阅读 · 0 评论