对回溯法的理解: 回溯法本质就是深搜,对所有可能的结果进行搜索匹配,由于很多情况下结果很多,就需要进行适当的剪枝和分界限制来加快得到解。 回溯法用的最多的就是递归,其实也可用递推,但是递归比较符合人类逻辑 。 回溯法的解题通常是有模板的: Void backtrack() { If(到达边界) {输 ...
分类:
编程语言 时间:
2019-12-18 10:48:44
阅读次数:
87
1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNode(int x) { val ...
分类:
其他好文 时间:
2019-12-13 00:11:09
阅读次数:
93
题目大意: 同一个昵称可能不是同一个人,也可能是同一个人,但不同的昵称肯定不是同一个人.按照题意将同一个人的邮箱地址链接起来 并查集: 对对应的邮箱地址进行并查集操作,如果存在有交集的邮箱地址,则两个列表肯定归属于同一个人,将他们连接起来. 1 class Solution { 2 public: ...
分类:
其他好文 时间:
2019-12-12 23:39:06
阅读次数:
95
以前一直知道深搜是一个递归栈,广搜是队列,FIFO先进先出LILO后进后出啥的。DFS是以深度作为第一关键词,即当碰到岔道口时总是先选择其中的一条岔路前进,而不管其他岔路,直到碰到死胡同时才返回岔道口并选择其他岔路。接下来将介绍的广度优先搜索(Breadth First Search, BFS)则是 ...
分类:
其他好文 时间:
2019-12-11 21:30:37
阅读次数:
109
递归算法真是太优美了 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { val = x; } 7 ...
分类:
其他好文 时间:
2019-12-07 23:31:53
阅读次数:
84
《挑战程序设计》-找水洼 题解 2019-12-01 Powered by WSY 1.题目传送门:http://poj.org/problem?id=2386 2.题目思路:这道题其实是一个非常简单的搜索,我们只需要对于每一个点,向他的8个方向搜索就可以了。 3.代码:最后给大家粘一个福利(AC代 ...
分类:
其他好文 时间:
2019-12-01 09:16:22
阅读次数:
94
注意: 二叉树中没有重复元素,有重复元素就搞不出来了. 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 ...
分类:
其他好文 时间:
2019-11-30 21:06:47
阅读次数:
131
宽度优先搜索,层序遍历各节点,并记录各节点所在层,时间复杂度 O(n)。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode ...
分类:
其他好文 时间:
2019-11-28 23:06:15
阅读次数:
119
1.图的两种遍历方式 图的遍历通常有两种方式,即深度优先搜索(Depth First Search)和广度优先搜索(Breadth First Search)。前者类似于树的先序遍历,而后者类似于树的层次遍历。 2.深搜的实现 ...
分类:
其他好文 时间:
2019-11-12 01:09:01
阅读次数:
69
..突然发现自己拖了很久都没有学习有关网络流的东西了,所以先从模板开始写起吧. dinic code: #include<iostream> #include<cstring> #include<queue> #define INF 0x3f3f3f3f const int MAXN = 1e6+5 ...
分类:
其他好文 时间:
2019-11-07 18:50:47
阅读次数:
73