共有 277 篇文章
Manual
2019-04-21 - 2024-09-18
Vim
Vim手册
升级vim至最新版
2019-04-21 - 2024-09-18
Mac
macOS 默认已经安装了 Vim,可执行程序是 /usr/bin/vim,当前的系统 Vim 版本有一个问题是不支持与系统剪贴板的集成,另外由于是系统集成版本,使用一段时间后往往会出现版本低于当前 Vim 最新版的情况。
完全数
2019-04-20 - 2024-09-15

完全数,又称完美数完备数,是一些特殊的自然数:它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,完全数不可能是楔形数

例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6,恰好等于本身。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28,也恰好等于本身。后面的数是4968128

十进制的5位数到7位数、9位数、11位数、13到18位数等位数都没有完全数,它们不是亏数就是过剩数

使用密钥登陆并禁用密码登录
2019-04-15 - 2024-09-18
SSH

使用密钥登陆相对于密码来说安全性要高很多

我们知道SSH登录是用的RSA非对称加密的,所以我们在SSH登录的时候就可以使用RSA密钥登录,SSH有专门创建SSH密钥的工具ssh-keygen,下面就来一睹风采。

git 默认对大小写不敏感
2019-04-14 - 2024-09-18
Git

git 默认不区分文件名大小写

当你创建一个文件后,叫 readme.md 写入内容后 提交到线上代码仓库.

然后你在本地修改文件名为 Readme.md 接着你去提交,发现代码没有变化.

1git status

无任何提示信息.

其实 git 默认对于文件名大小写是不敏感的,所以上面你修改了首字母大写,但是git 并没有发现代码任何改动.

那么如何才能让 git 识别文件名大小写变化.

修改主机名和计算机名
2019-04-14 - 2024-09-18
Mac
修改主机名和计算机名 修改terminal终端、iterm前面的用户名字
Green公式-判断多边形边界曲线顺/逆时针
2019-04-14 - 2024-09-15
判断一个多边形的边界曲线是否是顺时针或者逆时针
添加万能头文件stdc++.h
2019-04-13 - 2024-09-18
C++

在Clion中使用万能头文件bits/stdc++.h

大部分OJ都支持bits.stdc++.h头文件,也就是说刷题的时候,不需要include那么多头文件,就#include <bits/stdc++.h>就能包括几乎所有刷题要用的头文件了。但是Mac上的自带的gcc是不支持这个头文件的,所以就需要自行安装。

动态规划
2019-04-05 - 2024-09-15

背包的状态转换方程 :

    $_math_inline$f[i,j] = Max\lbrace f[i-1,j-W_i]+Pi( j >= W_i ),  f[i-1,j] \rbrace$math_inline_$

    $_math_inline$f[i,j]$math_inline_$

表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。 Pi表示第i件物品的价值。 决策:为了背包中物品总价值最大化,第 i件物品应该放入背包中吗 ?

Dijkstra(迪杰斯特拉)算法 单源最短路径算法
2019-04-03 - 2024-09-15

path 1 2 3 4 5 6 7 8
1 0 3 2 3
2 3 0 5 4
3 2 0 4 6
4 3 0 4 6
5 5 4 0 2 2
6 4 4 2 0 3
7 6 6 2 0 3
8 3 3 0
dis 1 2 3 4 5 6 7 8
估计值 0 3 2 3

path代表地图 例如path[i][j]代表从ij的距离

dis代表从起点到达i的距离,开始时初始化为最大,代表无穷远即未连同

vis代表当前节点[i]是否访问过

并查集
2019-03-24 - 2024-09-15

并查集是一种树型的数据结构,用于处理一些**不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)**定义了两个用于此数据结构的操作:

  • Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。
  • Union:将两个子集合并成同一个集合。