使用 GitLab 进行开发

开始工作

  1. Git – Downloads 下载最新版本的 Git 客户端。

  2. 运行 Git Bash,执行 ssh-keygen -t rsa -C “[your_email]@domain.com” 创建密钥对,得到 id_rsa.pub 公钥文件与 id_rsa 私钥文件。(务必妥善保管

  3. 参考 私人 GitLab 使用方法 中的 “SSH 配置” 章节,将公钥内容添加至自己的 GitLab 账号。

  4. 访问原始项目,点击中央的 fork 按钮,克隆一个分支至自己的账号。

  5. 访问自己刚刚 fork 出的分支,复制页面中间格式为 [email protected]:[username]/[[......]

Read more

QuickSort Dijkstra 3-Way Partitioning

思想

原始的 2-Way 快排在遇到大量重复数据时会退化为 O(n^2),为了解决这个问题,3-Way 快排被提出了。通过将区间分割为“小于”、“等于”和“大于”(基准数)三个部分,获得了趋近 O(nlogn) 的复杂度。不同于 2-Way 快排的是,我们在此选取一个基准数的值,而非一个基准元素。

(小声逼逼:当然为了方便也可以直接改进 2-Way 快排,在每一次基准数归位后遍历全区间元素,将等于基准数的元素交换到基准数旁边,也能获得等价的三个区间。当然,效率相对于 3-Way 快排有所下降,代码实现的复杂度也上升了。)

使用 i 下标表示“小于”区间的上界;使用 q 下标表示“等于”区[……]

Read more

Eclipse IDE 开启增强自动补全

打开 Window -> Preferences -> Java -> Editor -> Content Assist,将 Auto Activation triggers for Java 的值由 . 修改为 .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 即可。

自建 vlmcsd KMS 服务器激活 Windows 及 Office 套件

服务端操作

  1. 找一台吃灰小鸡(本地虚拟机也行)
  2. https://github.com/Wind4/vlmcsd/releases 下载 latest release
  3. tar -xzvf binaries.tar.gz 解压
  4. 运行

客户端操作

激活 Windows

各 KMS 激活密钥见 KMS 客户端安装密钥 | Microsoft Docs

  1. 以 Windows 管理员权限运行命令提示符
  2. 指定 kms 批量激活服务器 slmgr /skms [服务器地址]
  3. 执行激活操作 slmgr /ato
  4. 查看有效期 slmgr /xpr

注意:
1. 仅 VOL 批量许可版本的 Wi[……]

Read more

快速排序简易入门

快速排序

快速排序(Quick Sort)因其 $latex O(N\log_{}N) $ 的复杂度成为最常见的算法之一,甚至被纳入了 C++ 的标准库作为 std::sort 的一部分与插入排序糅合在一起以实现更优的时间复杂度。

在学习快速排序算法之前,让我们首先回顾最经典的排序算法——冒泡排序:经过 $latex (N-1)! $ 次比较,以 $latex O(N!) $ 的复杂度完成排序。由于冒泡排序每次只比对相邻的两个元素,所以排序效率相对比较低。

快速排序的优势在于,应用了分治的思想(有点像二分),通过多次迭代将元素依次归位,最终完成排序。单元操作如下:

  1. 最左端 选取端[……]

Read more