使用 nvim-cmp + rime-ls 配置 nvim 中文输入法 NOTE:本文出现的所有代码没有全部放置在这个文件中。空格的重新绑定放置在中,auto-pairs的变量设置放置在中,而则放置在了中。
A brief introduction of the Waiting Move and the SG Theorem What is the waiting move? Let me show you by a simple example:There are nnn numbers, and they are 1,2,3,...,n1, 2, 3, ..., n1,2,3,...,n from left to right. You can your friend take turn to remove one number and remove all the divisors. For example, if you
Notes for the missing semester. Useful and basic knowledge about Linux. The notes for the missing semester. The course is awesome and I recommend it for all new beginners of Linux.
Let‘s learn some about makefiles. Knowing some basic knowledge of make is necesasary for programmers Note: this is the notes when learning . Because I use more, this note is not resonable enough, and I just put some commands down and don’t explain the basic methodology of make.Note: even you can use to build projects, learning is still necessary. Beca
My own understranding of Gitflow. How to use Gitflow when developing projects within a team? Git-flow is for better cooperation with others in some big projects.There are two common branches: and .The first one branch is for releasing projects when reaching a new version. Mostly, every commit of branch is a single version with a tag illustratin
十几年前的降维可视化算法有这么好的效果?还得是Hinton。带你不使用任何现成库手敲t-SNE。 xix_ixi:第iii个原始数据;yiy_iyi:第iii个输出数据;pj∣ipj∣i:输入的条件概率;pijp_{ij}pij:输入的联合概率;qj∣iqj∣i:输出的条件概率;qijq_{ij}qij:输出的联合概率;在SNEpj∣iexp−∥xj−xi∥22σi2∑kexp−∥xk−xi∥22σi2i≠jpj∣i。
我如何花费一周的时间学习并定制自己的vim?带你从零配置你的vim,打造专属于自己的IDE 为什么需要自定义vim,进行自定义vim之前一定要搞清楚这个问题。虽然网上有很多现成的vim配置(通过关键字vim或者dotfiles便可以检索到),这些配置拿过来往往只需要一两句命令便可以将你的vim变成一个完全现代化的IDE,但是我是非常不推荐直接将别人的配置拿来进行使用的,如果直接将别人的配置拿来使用,那你直接在下载一个IDE并在里面装一个可以支持vim三种模式的插件不就完成了所有的操作吗?为什么还需要单独去使用vim呢?在我看来使用vim的插件是因为vim。
SVM简介 详细推导 核函数 线性可分 非线性可分 发明用于解决二分类问题的机器学习算法。在二维平面中,线性可分指的是可以通过一条直线对平面上的点进行划分使得标签相同的点在直线的同一侧,标签不同的点在直线的不同侧。在二维平面中,非线性可分则是指除去线性可分的情况。下面是一个线性可分的例子:下面是一个非线性可分的例子:对于一个线性可分的数据集,存在着多条线段均可以达到划分数据集的目的,那条直线的分类效果最好?要找到最好,我们首先要知道什么叫做好。定义了性能指标:间隔。在下图中,上下两侧经过的点是支持向量,而上下两条直线之间的距离即间隔。认为间隔越大的直线越
LibreOJ 137. 最小瓶颈路(加强版) 题解 Kruscal重构树 ST表 上面结论的证明我们可以参考Krusca求解最小生成树的过程,对于当前可以加入的一条边(u, v, w),u和v之间的最小瓶颈路当前这条边,因为在之前的过程中经过权重比w小的边不能使u和v连通,根据这个过程我们便可以发现第一次让u和v相连的边的权重就是最小瓶颈路(这也是为什么Kruscal重构树可以求最小瓶颈路的原理),而不难发现这个值也就是u和v路径上的边权最大值。u和v两个结点之间最小瓶颈路指的是u和v的每条路径中经过的最大边权的最小值。的时候,每选择一条边的时候,我们创建一个新的结点。
LibreOJ 136. 最小瓶颈路 题解 最小生成树 倍增 给出结论:无向图的最小瓶颈路与其最小生成树上两个结点之间最小瓶颈路值相等。有了上述的结论,我们只需要求出最小生成树,然后通过树上倍增的方式,每次询问。之间的最小瓶颈路当前这条边,因为在之前的过程中经过权重比。给定一张无向图,询问两个结点之间的最小瓶颈路。求解最小生成树的过程,对于当前可以加入的一条边。相连的边的权重就是最小瓶颈路(这也是为什么。的每条路径中经过的最大边权的最小值。重构树可以求最小瓶颈路的原理)。两个结点之间最小瓶颈路指的是。上面结论的证明我们可以参考。路径上的最大值即可。
LuoguP2482 [SDOI2010] 猪国杀 题解 大型模拟题 当你发现如论如何也想不知道遗漏了什么之后,你可以将题解代码中的输出注释删除,其运行后会输出每一名角色进行的操作以及操作后的角色状态。一群猪玩猪国杀(类似三国杀),按照特定的规则出牌,问谁能获胜,输出获胜时,存活的猪的手牌。按照上面的思路实现,或者按照自己的思路实现,在实现的过程中注意提到的细节即可。注意到上面的点之后,我们便可以开始做题了。
Luogu P1135 奇怪的电梯 题解 Floyd 动态规划 DP 层,如果上或者下后超出了楼层范围那么此次操作无效。的最短路径长度,可以用单源最短路进行求解,也可以使用。我们将电梯的楼层看成点,若一个楼层。经过上述操作之后,原问题转换为求点。有一个电梯,电梯的层数是从。层最少需要多少次操作。开始递增的整数,共有。
Luogu B3647 【模板】Floyd 题解 Floyd 全源最短路 动态规划 DP 之间是否存在边,如果不存在边则为无穷大,如果存在边则为边权,如果。,不难发现上面的方程中第一维可以省略,也就变成了。给定一张无向图,求解任意两个点之间的最短路。除起点与终点外不经过编号大于等于。算法中,我们定义的状态实际是。,第一部分表示不经过结点。
Luogu P6175 无向图的最小环问题 题解 Floyd 给定一张带权无向图,求出经过至少三个不同的点的最小环,环的大小由经过的边权和决定。之间是否存在边,如果不存在边则为无穷大,如果存在边则为边权,如果。对于一个最小环我们如果设其经过的编号最大的结点为。,上面的方程中第一维可以省略,也就变成了。算法中,我们定义的状态实际是。除起点与终点外不经过编号大于。,则不难发现至少存在两个结点。数组之前,计算出最大编号为。之间还存在一条不经过。
Luogu P4568 [JLOI2011] 飞行路线 题解 最短路 Dijkstra 只需要在求单源最短路的时候增加一个状态。给定一张带权无向图,以及起点。表示当前将几条边边权变成了。,通过将距离数组变成二维,,此时还有一种更新方式,即。,对于当前正在遍历的状态。设与其相连的一个结点为。则表明还可以将边变为。
Luogu P5905 【模板】全源最短路(Johnson) 题解 全源最短路 Johnson算法 其思想就是将一个含有负权边的图变成无负权边的图之后,跑。首先解释修改边权后一定不存在负边,在最短路中如果存在。,因此只需要在最后减去多加的一部分即可获得最终的最短路。这也就表明修改后的每条边权值均为正。给定一张有向图,求出任意两点之间的最短路。上述算法的时间复杂度为。之间的最短路依次经过。