思路: 法1. 本题逆序BFS,从右到左记录每一个level的visited, 但是这样就用了O(n)的额外空间 法2. 官答 1) 左子节点永远指向右子节点 2)右子节点指向 None或者 父节点相邻节点的左子节点 if fatherNode.next: fatherNode.right.next ...
分类:
其他好文 时间:
2020-05-19 12:52:03
阅读次数:
83
题目链接: "P3907 圈的异或" sb 题,但还是没做出来。 核心思想是 $dfs$ 对于不是继承节点的已经扫过的点如果被连接就形成环。 异或可以用前缀和来处理。 借助一个定理: $$a \;\text{xor}\; b\; \text{xor}\; b=a$$ 直接把前面的再异或掉即可。 然而 ...
分类:
其他好文 时间:
2020-05-19 10:40:19
阅读次数:
49
You are given an undirected graph without self-loops or multiple edges which consists of nn vertices and mm edges. Also you are given three integers n ...
分类:
其他好文 时间:
2020-05-19 00:53:03
阅读次数:
67
对于这个题目,我的做法是换根dp, 因为可以选择将某一个点染成白色(不论之前的点是黑是白) , 做法如下: 将每个点当成根节点, 然后将根节点染成白色, 完全符合题意;; 首先dfs一下, 自底向上,求出每一个点在子树内的白色连通块大小。 然后从上到下开始算对孩子节点的贡献:: 如果当前点是黑色, ...
分类:
其他好文 时间:
2020-05-19 00:51:34
阅读次数:
72
摘要:递归是一种应用非常广泛的算法(或者编程技巧)。之后我们要讲的很多数据结构和算法的编码实现都要用到递归,比如DFS深度优先搜索、前中后序二叉树遍历等等。所以,搞懂递归非常重要,否则,后面复杂一些的数据结构和算法学起来就会比较吃力推荐用户注册领取佣金很多人都遇到过,很多App在推广的时候都是这个套路。「萧何」
分类:
编程语言 时间:
2020-05-19 00:37:43
阅读次数:
68
链接 题意 给定一张$n$个点,$m$条边的无向图,要求给每个点标为1,2,3中的一个值,使任意一条边上的两个点差的绝对值为1,并且标号为1,2,3的点分别有$n1,n2,n3$个,求一种方案 题解 显然如果存在一组解,那么此图的每一个连通块一定是一个二分图。 $dfs$求出所有的连通块,每一个连通 ...
分类:
其他好文 时间:
2020-05-19 00:23:20
阅读次数:
60
1 与课程表那个题很类似,建立图的邻接表和度数表,每次遍历度数为1的点,每遍历一个就更新度数表,并判断更新的点度数是否变为1了,如果为1了,则下一轮遍历,最后一轮遍历的即为结果,这个题和拓扑排序课程表类似,关键是对节点的度的理解,对图问题,一定要学会建邻接表和度数表, 310. 最小高度树 ...
分类:
其他好文 时间:
2020-05-18 16:30:49
阅读次数:
62
一、思维导图 二、重要概念 1.DFS 时间复杂度为 O(n+e) 。 2.BFS 时间复杂度为 O(n+e) 。 3.最小生成树 1)Prim算法 时间复杂度为 O(n n) ,所以更适用于 稠密图 。 2) Kruskal算法 时间复杂度为 O(elog2e) ,所以更适用于 稀疏图 。 4.最 ...
分类:
其他好文 时间:
2020-05-17 21:45:57
阅读次数:
110
公司测试环境的namenode出现损坏启动不了。 一开始是因为把机器的dfs目录改成了权限777,后来百度了下发现755才可以。 修改完发现namenode启动过程一直报edits文件里面存在文件丢失。 通过下面两个命令进行对edits转换成xml 修改内部不存在文件为OP_SET_PERMISSI ...
分类:
其他好文 时间:
2020-05-17 19:10:24
阅读次数:
82