从零单排回溯算法 algorithm B
引言
当我要介绍 Knuth 在 23 年圣诞节时的演讲 Dancing cell 时,我发现我缺少了太多的上下文,算法虽然不难讲清楚,但为什么要这么做,这个算法有什么应用价值我并不清楚,视频中提到了这是从 Knuth 的经典著作《The Art of Computer Programming》(TAOCP)第 7 章开始的。出于好奇,我翻看了整个第 7 章,发现整章都在讲述回溯算法(Backtrack),包括我之前提到的 Dancing Link 实际上是一个比较优化的算法。
Dancing link大的要来喽
引言
我以前玩过一个叫智慧金字塔的儿童益智玩具,后来我发现它居然早在 NOI 2005 就出现过1了, 我还写了一个程序2专门来解这些题目, 上回说到将双向链表和 Algorithm X 结合起来就是 Dancing link了, 这次我们就来看看最关键的建模方法。
Knuth 在 2018 圣诞节上竟然戴着锁链跳舞?
引言
我在翻看 Knuth 最近的更新时,发现他每年圣诞节都会跑到斯坦福去做演讲,去年我也写(ken)了他的圣诞三重奏, 2023年圣诞的主题是 Dancing Cell,我瞅了一眼,发现要搞懂这个就得先弄明白 Dancing Link。这个算法我早在 2011 年就听说过,只晓得用它解数独超快,但具体咋做、我也从来没实现过。所以呀,我决定先从 Dancing Link 开始学起。
精通Beancount:我的财务管理工作流
引言
距离我写《beancount起步》已经快6年半了,那篇文章的第一句是:我已经连续记账 4 年半了。加起来不知不觉我已经坚持记账11年了,在这些年里,我结了婚,出国旅行,生了娃,投资了股票,买了房也租了房,一个家庭会发生的财务活动我几乎都经历了
用 coze 解决 WordHoop
最近,我发现了一个有趣的网站,名为 WordHoop。它的规则与 Wordle 相似。你的任务是将给定的字母拼成一个单词,每个字母恰好都要被用到,根据起始词开始猜单词,直到猜到最终词为止。每两个相邻的单词之间应该有某种关联。
让我们假设今天的谜题以“PLAN”(我将像这样将括号内的所有单词大写)开头,以“RETURN”结尾。第一个候选字母是[earg]。这太容易了,我们不需要 coze。答案是“gear”。然而,下一个字母包含[lvtaer]。我被这个字母“V”卡住了,