摘要: 上机编程考试准备 1.0 提前做的准备 首先,这里默认投递岗位是需要进行上机编程的岗位。一般来说需要候选人,提前一段时间进行刷题训练,增强相关算法的熟悉程度。一般来说,对于上机编程的考试题目类型相对来说比较固定。 我们可以根据开始题目类型进行优先级划分,从而以更加合理的方式来分配备考精力。 第一优先 阅读全文
posted @ 2022-02-28 00:33 zhanghanLeo 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 树的重心 定义: 重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 不妨设max_part(x)为在删除节点x后产生的子树中,最大的一颗大小。那么树的重心就是使得max_part函数取到最小的节点p就是整颗树的重心。 void dfs(int 阅读全文
posted @ 2021-10-22 01:02 zhanghanLeo 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 这是学习模板第二版的笔记和部分翻译。 函数模板 本章介绍函数模板,其是被参数化,这样它们可以表示一簇函数。 1.1 初识函数模板 函数模板提供函数行为,其可以被不同的类型所调用。换句话说,一个函数模板表示一簇函数。该表示看起来和普通函数很多相同,除了函数的一些元素尚未确定外:这些元素被参数化。下面可 阅读全文
posted @ 2021-10-04 20:24 zhanghanLeo 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 控制流分析 1.基本概念 1.1支配性问题 支配结点:如果每一条从流图的入口结点到结点n的路径都经过结点d,那么我们可称d支配n,记作d dom n。t特别地,每个结点都可支配其本身。 1.1.1 构建支配树 对于龙书上,其寻找支配结点算法如下: 输入:一个流图G,G的结点集合为N,边集合为E,入口 阅读全文
posted @ 2021-10-02 20:14 zhanghanLeo 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 线段树 1.线段树的建树 build函数: build(u, l, r):u表示当前节点编号,l、r分别是该节点所代表区间的左右端点[l, r]. struct SegmentTree{ int l, r; int dat; }t[SIZE * 4]; void build(int u, int L 阅读全文
posted @ 2021-09-28 00:32 zhanghanLeo 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 多源BFS 对于一般的BFS,其只有单源的入口节点,然后按照BFS套路,从而求出最短路之类的问题。 下面介绍的是对于含有多个入口节点,且需要求最短路径之类的问题。 样题模型 [ACWing 173] 给定一个 N 行 M 列的 01 矩阵 A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义 阅读全文
posted @ 2021-09-21 16:09 zhanghanLeo 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 质因数分解 首先引入定理: 对于任何一个大于1的正正整数都可以分解为有限个质数的的乘积,可记作: N=p1C1p2C2...pmCm 其中Ci都是正整数,pi都是质数,且满足 p1<p2<...<pm 一般在做题时,采用试除 阅读全文
posted @ 2021-09-19 16:34 zhanghanLeo 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 动态规划系列 背包问题 背包问题是个非常经典的问题,但是其变种非常之多,也非常灵活。 这里结合算法进阶的知识点和ACwing的题目,一起学习和练习相关知识点。 1. 0-1背包问题 问题描述: 给定N个物品,其中第i个物品的体积为Vi,价值为Wi。有一容积为M的背包,要求选择一些物品放入 阅读全文
posted @ 2021-08-01 18:04 zhanghanLeo 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 单调栈 1.0 原始模型 描述:给定一个序列,求出序列每个位置在左侧距离其最近的,且比起小的数,如果不存在则返回-1,存在则返回其值, 最后输出该结果。 解析: 首先考虑对该题目的朴素解(暴力解法),挖掘一些性质,把求解空间进一步缩小,从而降低问题的求解时间复杂度。 1. 暴力做法 双重循环:第一重 阅读全文
posted @ 2021-07-13 00:24 zhanghanLeo 阅读(69) 评论(0) 推荐(0) 编辑
摘要: KMP算法 KMP算法应用场景 主要是文本串和模式串之间的匹配,来加速匹配的算法。 即在线性时间内求出文本串T中查找字符串P,且求出P在T中出现的次数和位置。 朴素的字符串匹配算法 主要是枚举文本串T的每个起始位置i, 然后逐步和字符串P进行比较,如果中途失配,那么i++, 在重新与P进行匹配; / 阅读全文
posted @ 2020-12-08 00:17 zhanghanLeo 阅读(187) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示