AI算法 每日算法 — 使用java实现三壶谜题:BFS状态空间搜索与GCD可解性判定 引言 三壶谜题(Water Jug Problem)是数学史上著名的智力题:有三个容量分别为 $a$、$b$、$c$ 升的水壶,其中 $c$ 壶 initially装满水,$a$ 和 $b$...
AI算法 每日算法 — 使用java实现卢卡斯定理:组合数取模与数论分治 算法概述 卢卡斯定理(Lucas Theorem)是数论中用于计算大组合数取模的经典定理。当需要计算 $C(n, m) \mod p$(其中 $p$ 为质数)且 $n, m$ 非常大时(例如 $n, m \leq...
AI算法 每日算法 — 使用java实现DLX舞蹈链:精确覆盖问题的回溯求解 算法概述 DLX(Dancing Links X)是由图灵奖得主 Donald Knuth 提出的一种高效求解精确覆盖问题(Exact Cover...
AI算法 每日算法 — 使用java实现大步小步算法:离散对数问题的分步求解策略 引言 大步小步算法(Baby-step Giant-step,简称BSGS)是数论中解决离散对数问题(Discrete Logarithm Problem)的经典算法。给定同余方程 a^x ≡ b (mod...