初探 Z function 处理字符串

之前参加了 Codeforces Round #726,E2 这道题方法很多,推荐的方法是 Z Function. 我也借机学习一个新算法。 函数定义 本文中,所有的数组下标均为 0 开始。如无说明,所有的区间均为闭区间。对于字符串 S, S[a, b] 表示选取一个长度为 b - a + 1,范围… ...more

June 20, 2021
Tail Sum Formula 的学习笔记

最近看书时,接触到了 Tail-Sum Formula. 公式的定义如下 $$E(X) = \sum_{x=1}^{\infty} P(X \geq x) $$ 它也有一个等价形式 $$E(X) = \sum_{x=0}^{\infty} P(X \gt x) $$ 公式证明 在 Sinho C… ...more

June 14, 2021
Fcitx 5 在分辨率改变后候选框过大

我当前使用的是 Fedore34+Gnome 40+Fcitx 5.0.8。今天早上为了用 Wine 玩星际争霸,把屏幕分辨率设置到 800x600,并将 Display Mode 设置为 Mirror。游戏结束后,我将分辨率改回了 1920x1080,但 Fcitx 的候选框就变得特别大,如该视频… ...more

May 30, 2021
从 Python Bytecode 的角度看 List Comprehension 生成 Tuple

Python List Comprehension 使用非常广泛。通常认为,在生成的 sequence 定长的情况下,应该生成 Tuple 而非 List。出于好奇,我简单研究一下这两者在 Bytecode 的区别。 示例代码如下,很简单的 List Comprehension。 def trans… ...more

March 28, 2021
如何让 Git Submodule 恢复初始状态

这几天在尝试编译 Proton ,不小心把 submodule 搞乱了。如下图所示,submodule 对应的是 origin/master/HEAD,而不是应有的 commit。 proton$ git status On branch proton_5.13 Your branch is up … ...more

February 09, 2021
Git Submodule 从本地源初始化

背景介绍 在使用 Wine 运行 Magic: The Gathering Arena 的过程中,我想自行编译 Wine-Mono。Wine-Mono 用 git submodule 将 Mono 的 codebase 囊括了进来。 在此之前,我在电脑上已经下载过了 Mono 的代码 (git cl… ...more

February 01, 2021
经SSH将Fedora 30升级至31

之前提到,我的 客厅里有了一台服务器。随着 Fedora 31 发布,原有的 Fedora 30 系统得到的更新变得很少,我也有了更新系统的打算。搜索了一些资料,有在2012年的回答说需要使用单独的ssh daemon进行F17升F18的操作。不过,也有人提到,新版本的 dnf-plugin-sys… ...more

January 01, 2020
Fedora 删除 swap 后修复 Kernel Parameters

笔者近日为自己的笔记本电脑升级到了 32G 内存,就想着删掉 swap 分区,为自己捉襟见肘的 SSD 释放一些空间。参考着 Arch Wiki,整体而言比较顺利,但也有一点小小的插曲。 首先,运行 # lvs 查看分区情况。我的系统里,Volume Group 是 fedora_zhenbo。 删… ...more

July 06, 2019