摘要: 递推求解 含义 动态规划的最基本情况。动态规划常用于求解最优解问题,将待求解问题分成若干子问题,先求解子问题,再通过子问题的答案得到原问题的答案。 动态规划和分治法类似,但不同,动态规划的子问题往往有联系,动态规划会将子问题的答案保存到dp数组中,需要时直接获取,减少重复计算,提高效率 模板和所需元 阅读全文
posted @ 2021-03-31 21:34 LazyXx 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 含义 对于一个有向无环图,将所有节点做成线性序列,并要求每条边的起点在终点前面。如果存在这种序列,那就是满足拓扑序列,过程称为拓扑排序 常见所需元素 图向量(同最短路径) 入度数组 队列(如果需要输出,要用到优先队列) 模板(自创) vector<int> graph[500]; //图 int i 阅读全文
posted @ 2021-03-25 13:25 LazyXx 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 含义 从搜索起点开始,一直访问邻居节点 DFS一般都是递归,先一层层递归进去,然后一层层出来......反复搜到最后一层 BFS一般是用栈,搜完一层,进入下一层,一直搜到最后一层 常见所需元素 递归 状态 状态转移 搜索成功的判断 遍历邻居节点 模板(自创) void DFS(T xxx,状态1){ 阅读全文
posted @ 2021-03-15 12:18 LazyXx 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 含义 从搜索起点开始,不断地优先访问当前结点的邻居。常用于搜索最优值 常见所需元素 状态 状态转移公式 有效的状态 队列 标记 有效标记数 最优化问题 模板(自创) void BFS(T xxx){ queue<T> Q; Q.push(xxx); while(!Q.empty()){ T temp 阅读全文
posted @ 2021-03-14 15:52 LazyXx 阅读(23) 评论(0) 推荐(0) 编辑