解决 Office 套件多授权冲突

因为使用 KMS 或绑定多用户的原因,Office 界面可能会出现多个授权信息,形成冲突。

  1. 访问 Office 安装目录
  2. 以管理员权限执行指令 cscript ospp.vbs /dstatus 查看当前在册授权
  3. 记录失效 License 的后五位字符
  4. 以管理员权限执行指令 cscript ospp.vbs /unpkey:[Last 5 chars of license] 注销授权

WA 到死原因总结

  1. 警惕使用 n = -n; 进行数值正负转换

数值在内存中是以补码的形式进行存储的,因此 int 的数据范围为 [-2147483648, 2147483647],左右边界不对称。
当题目中声明所有数据均在 int 范围内时,应当警惕使用 n = -n;:如果值恰好为下界 -2147483648,则运算后结果仍为 -2147483648

  1. 警惕对于负数进行取模操作

不同语言中对于除法的实现算法不同,Java 和 C/C++ 中使用 truncate 除法(截断小数部分),Python 中使用 floor 除法(向下取整),因此负数取模的结果也不相同。
为了保证一致性,建议使用 (n[......]

Read more

macOS Mojave on VMware 调节分辨率

问题

基于 VMware Workstation 15 Pro 安装的 macOS Mojave 显示分辨率始终为 1024 x 768,安装 VMware Tools 与 SwitchResX 均未解决问题。

解决方案

打开 Terminal,执行 /Library/Application\ Support/VMware\ Tools/vmware-resolutionSet [width] [height],最大支持 8192 x 8192
由于虚拟机黑苹果最高只支持 128MB 显存,请不要将分辨率调过高,以免卡顿、花屏。

使用 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` 下标表示“小于”区间的上界;使[……]

Read more