题意: 给出一串序列,在位置为i的元素上,你可以向i+a[i]或i-a[i]的位置跳跃,前提是这两个位置在1到n的范围内。 请你计算每个节点,跳跃到与这个节点的元素值奇偶性不同的节点的最少步数。 题解: 反向建图,然后设两个超级源点,一个表示奇数,一个表示偶数,然后所有点向这两个源点连边,从这两个源 ...
分类:
其他好文 时间:
2020-06-13 00:47:36
阅读次数:
62
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonefrom typing import Listclass Solution: # 迭代的想法 def levelOrderBot ...
分类:
其他好文 时间:
2020-06-13 00:42:24
阅读次数:
46
#pragma GCC optimize(2) #include<bits/stdc++.h> #define ll long long #define maxn 1000005 #define inf 1e9 #define pb push_back #define rep(i,a,b) for( ...
分类:
其他好文 时间:
2020-06-12 21:47:58
阅读次数:
79
每个物品被选多少次均由他们所连的边限制,但是从 \(S\) 出发的边和从 \(T\) 出发的边只能约束两种点,另外一种点拆成两个,加一条 \(x \to x′\) 的流量为 1 的边即可 #include<bits/stdc++.h> using namespace std; #define rg ...
分类:
其他好文 时间:
2020-06-12 12:37:17
阅读次数:
56
图可以用邻接矩阵(顶点和顶点矩阵)和邻接表(顶点的链表)两种形式的结构来存储。 还有逆邻接表,顶点依然是头结点,但后续存的是谁指向你的。还有十字链表。。。 漫画:什么是 “图”?(修订版) 图的遍历:DFS,BFS 搞搞清楚! 漫画:深度优先遍历 和 广度优先遍历 二分图 如果可以用两种颜色对图中的 ...
分类:
其他好文 时间:
2020-06-11 21:25:40
阅读次数:
122
地址 https://leetcode-cn.com/problems/island-perimeter/ 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个 ...
分类:
其他好文 时间:
2020-06-11 13:32:28
阅读次数:
43
1、深度优先算法 遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。 最后得出的结果为:ABDECFHG。 2、广度优先算法: 遍历规则: 1)先访问完当前顶点的所有邻接点。(应该看得出广度的意思) 2)先访问顶点的邻接点先于后访问顶点的邻接点被访问。 最后得出的结果为:AB ...
分类:
其他好文 时间:
2020-06-09 18:28:37
阅读次数:
57
周期 新增代码行 学习时长 发布博客量 学习目标 知识总结 改进措施 第八周 70 6 2 对二叉树操作熟练 二叉树的遍历 逻辑需要再理清 第九周 90 5 1 线索二叉树 遍历结点的前去或后继结点的地址 多做题去熟练 第十周 90 7 1 树、森林和二叉树的关系 三种表示法及三者之间互相转换 需要 ...
分类:
其他好文 时间:
2020-06-09 17:00:41
阅读次数:
68
前序遍历NLR:前序遍历(PreorderTraversal)又叫先序遍历。遍历顺序为:根节点—>左子树—>右子树,所以上图前序遍历的结果为ABDECFG代码实现:publicvoidprevOrder(TreeNoderoot){//递归方式if(root==null){return;}System.out.print(root.val);prevOrder(root.left);p
分类:
其他好文 时间:
2020-06-09 09:34:36
阅读次数:
55
题目描述 题解 LCT复习 把颜色挂在边上,给点1建一个父亲,对每一种颜色维护森林,每棵树的根不是该颜色,维护虚边的答案和 询问的话直接找一棵树的根,然后makeroot+access即可得到答案 需要维护子树+虚边size,直接相连的虚边size以及虚边的答案 每次修改就先把原来的答案减掉再加新的 ...
分类:
其他好文 时间:
2020-06-07 16:39:49
阅读次数:
81