算法练习-回溯

今天开始新的章节,关于算法中回溯法的练习,这部分题目的难度还是比较大的,但是十分锻炼人的思维与思考能力。

处理这类题目首先要注意几个基本点:

1.关于递归出口的设置,这是十分关键的,要避免死循环的产生。

1.这是第一道题目

代码部分

这一道题很创新地引入了时间戳这一概念,这是用来记录节点关联问题之间的记录,可以通过时间戳来记录访问的顺序以此来统计在一个范围内节点的个数。

关于代码还有几个注意点:

1.关于mindfn的选用,将第一个开始记录的节点作为mindfn的首节点,这是为了防止第二个遍历开始,若访问到第一个环里面将无法构成一个完整的环状。

2.return 0不可以漏。

第二题

代码部分

第二道题是标准的dfs模型:

这里有几个注意点:

1.对于岛屿可以用scc颜色来染色以此来做相关标记。

2.注意(col[x][y]||mp[i][j]=='.')这里容易忽略col[x][y]这会造成遍历时左右两点来回横跳,造成影响。

好了今天的分享就到这里,希望大家可以多多关注哦。

相关推荐
Christo328 分钟前
TFS-2022《A Novel Data-Driven Approach to Autonomous Fuzzy Clustering》
人工智能·算法·机器学习·支持向量机·tfs
木木子999933 分钟前
超平面(Hyperplane)是什么?
算法·机器学习·支持向量机·超平面·hyperplane
星空下的曙光2 小时前
React 虚拟 DOM Diff 算法详解,Vue、Snabbdom 与 React 算法对比
vue.js·算法·react.js
♞沉寂2 小时前
数据结构——双向链表
数据结构·算法·链表
大阳1232 小时前
数据结构2.(双向链表,循环链表及内核链表)
c语言·开发语言·数据结构·学习·算法·链表·嵌入式
CUC-MenG3 小时前
2025牛客多校第六场 D.漂亮矩阵 K.最大gcd C.栈 L.最小括号串 个人题解
c语言·c++·算法·矩阵
2401_876221344 小时前
Tasks and Deadlines(Sorting and Searching)
c++·算法
我要学习别拦我~4 小时前
逻辑回归建模核心知识点梳理:原理、假设、评估指标与实战建议
算法·机器学习·逻辑回归
张子夜 iiii5 小时前
机器学习算法系列专栏:决策树算法(初学者)
人工智能·python·算法·决策树·机器学习
KotlinKUG贵州5 小时前
贪心算法:从“瞎蒙”到稳赚
算法·kotlin