从“以管理员打开”简要讲述 Linux 的凭据 本文主要讲解传统的 Unix 凭据和能力(Caps)。 众所周知,GNOME 的文件应用里有以管理员打开这个选项。点击后,经过一次 polkit 鉴权就可以访问原本需要 root 才能访问的目录。这是怎么做到的? 查看一下 /usr/share/polkit-1/actions 目录,发现 nautilus 的文件操作 action 来自 org.gtk.vfs.file-operations.p 2025-07-02 技术
当你设置语言的时候,你的 DE 到底做了什么? 今天突然想起来一个问题。众所周知,在 GNOME 里有个设置语言的选项。那么,GNOME 到底是做了什么来设置我的语言的呢? 猜想 :设置环境变量。然而 ~/.config/ 下并没有 locale.conf。在其他地方也没有。于是我去翻了下源码。 在 gnome-control-center 仓库中的 panels/system/users/cc-user-page.c 里有一个 languag 2025-06-30 技术
whk 抽象错误集锦 数学 坐标是否写反 检查数据是否抄错( 抄成 了,居然还神奇的算出来一个整十数)。 漏题。 其一:漏了一整问 其二:化简并求值,然而化简玩忘记求值了 计算错误 其一:偷吃系数: 其二:漏抄符号。(点名表扬负号 其三:移项,但是没有变号。 其四:多抄或漏抄了几个 。 忘了 没有意义。( 有意义的范围是 ) 算了上界,但是没算下界。 同大中间找?(, 的范围是 我而不是 ) 格子输错 2025-06-24
线段树小结 本文主要是对线段树在序列上的应用的简单讲解,并不涉及复杂的线段树应用。 从分治说起 众所周知,分治是一种常见的算法。序列上的分治通常是这种形式: 12345result solve(int l, int r) { int mid = (l + r) >> 1; auto resl = solve(l, mid), resr = solve(mid + 1, r); r 2025-05-17 OI #数据结构
Linux 上配置 DNS 踩坑记 最近看到了一篇谁动了我的 DNS 解析?(重制版),突然想起自己上次在高铁上因为没有把 dns 改成路由器提供的 dns,导致无法找到上网认证的经历,于是决定好好配置一下 dns。 由于众所周知的原因,ISP 提供的 DNS 服务器通常不是很靠谱,因此我用 dnsmasq 和 dnscrypt-proxy 在本地跑了个 dns 服务器。然而,一些内网地址却只能通过网络接口的 dns 服务器提供解析 2025-05-10 技术
KMP 通俗讲解 本文原计划于 国庆发布。 最近有点颓,写不动题目了,来水一篇博客。 KMP 是 Knuth–Morris–Pratt 算法的简称,由 Knuth、Pratt 和 Morris 在 1977 年共同发布。该算法用来处理字符串匹配的问题(就是给定一个字符串,求它的所有字串中另一个字符串相等的字符串)。 网上有很多讲解 kmp 的文章了,但其实 kmp 有着(自认为)更简单的理解方法。本文记文本串为 2025-01-27 OI
各类技巧总结 图 拆点 拆点常常可以将较小的边权转化为若干个点和边权为 的边,然后就可以利用特殊性质解决问题。 例如:永远挑战,要求复杂度 。 注意到每条边的边权较小,可以在每次连边权为 的边时新建一个点,从起点连边到这个点,在从这个点连边到边的重点,然后 BFS 求解。 分层图 可以将一个图分成多层,来满足表示更多状态的需要。 例如:冻结 注意到 的范围较小,直接暴力将图复制 份,然后在两层图之间对应 2025-01-22 OI
nginx 反代 apache2 webdav 踩坑记 原本 nginx 的 webdav 跑的好好的,一放到 cloudflare tunnel 后面就寄了,提示 COPY and MOVE with body are unsupported,于是就改回了 apache2 的 webdav。 首先出现问题的就是重命名。经过一番搜索,找到了这个,照着改完用了一段时间,似乎就没什么问题了。 又过了一段时间,发现不能重命名带有中文字符的文件,然后再次搜索, 2025-01-21 技术
抽象错误集锦 本文收录自己犯过的一些离谱错误,用来引以为戒。 通用错误 变量名错误。 (Acwing220)其一:线性筛循环较多时不要搞错下标。 12345678910111213141516void prime_prework(){ memset(min_prime_factor,0,sizeof min_prime_factor); for(ll i=2;i<=inp;i++){ 2024-06-14 OI
奇数码问题初探 最近在算法竞赛进阶指南上看到了奇数码问题,但是没讲证明。恰好最近课上老师讲了证明,简单记录一下证明过程。证明过程需要用到映射和基本的群论知识,如果你不了解,建议先学习一下这些前置知识。本文中的复合运算符 有时会省略。 题目简介 奇数码问题是一个经典的群论问题。也许你听说过数字华容道或 拼图问题,那就是它最常见的变体, 的奇数码问题。将这个问题扩展到 的情况就是我们要研究的奇数码问题。在这篇 2024-05-25 数学 #群论