标准数独技巧教程
标准数独技巧教程
  • 数独概述
    • 初来乍到
    • 坐标
    • 数独历史
  • 直观技巧
    • 排除
    • 唯一余数
    • 剩余数的概念
  • 局部标记技巧
    • 割补(LoL)
    • 直观区块
    • 直观数组
      • 直观隐性数组
      • 直观显性数组
    • 直观复杂出数
  • 基础候选数技巧
    • 候选数的概念
    • 直观和局标技巧在全标下的样子
    • 标准鱼
      • 鱼的基本推理
      • 鳍鱼
      • 退化鱼
      • 孪生鱼
      • 鱼的直观和互补性
      • 鱼的命名
    • XY-Wing 及推广
      • XY-Wing 及推广的基本推理
      • XY-Wing 及推广的残缺逻辑
    • W-Wing
    • 唯一矩形(UR)
      • 唯一矩形的基本推理
      • 唯一矩形的类型
      • 残缺唯一矩形
    • 可规避矩形(AR)
    • 唯一环(UL)
      • 唯一环的基本推理
      • 唯一环的形成条件
      • 唯一环的规格推广
    • 拓展矩形(XR)
      • 拓展矩形的基本推理
      • 拓展矩形的规格推广
    • 全双值格致死解法(BUG)
      • 全双值格致死解法的基本推理
      • 全双值格致死解法的其他类型
    • 欠一数组(ALC)
    • 融合待定数组(SdC)
    • 跨区数组(DDS)
    • 伪数组(ESP)
    • 均衡数组
    • 烟花数组
      • 烟花数组的基本推理
      • 烟花数组的各种用法
  • 链理论
    • 双强链
    • 同数链和异数链
      • 同数链和异数链的定义
      • 头尾异数链的删数规则
      • 不连续环的两种模式
      • 有技巧名的异数链
    • 区块链
    • 待定数组链(ALS 链)
      • 链关系的第二定义
      • 有技巧名的待定数组结构
      • 在链里的待定数组
    • 隐性待定数组链(AHS 链)
    • 毛刺数组链
    • 待定唯一矩形链(AUR 链)
    • 待定可规避矩形链(AAR 链)
    • 环
      • 环的基本推理
      • 数组、鱼和欠一数对的环视角
      • 区块环
    • 强制链
      • 强制链的基本推理
      • 有技巧名的强制链
    • 动态链
      • 动态链的基本推理
      • 动态强制链
      • 动态环的删数分析
      • 动态区块环的删数分析
  • 包装
    • 染色法
      • 同数染色
      • 异数染色
    • 代数法
  • 构造
    • 唯一矩形构造
      • 唯一矩形的结构构造
      • 代入唯一矩形
    • Wing 构造
    • 毛刺和毛边
      • 毛刺的基本推理
      • 毛刺的使用
      • 毛边的基本推理
      • 毛边的使用
      • 毛刺环和毛边环
      • 毛刺、毛边的由来历史和翻译
  • 附录
    • 术语索引
  • 逻辑学基础
    • 逻辑学简要介绍
    • 分情况讨论和析取消去
    • 反证法
  • 组合数学基础
    • 抽屉原理/鸽巢原理
  • 其他
    • 作者介绍
    • 版权声明
由 GitBook 提供支持
在本页
  • 隐性数对(Hidden Pair)
  • 隐性三数组(Hidden Triple)
  • 隐性四数组(Hidden Quadruple)
  • RCB 表达的完整规则
  • 纯单元格表示
  • 带有涉及数字的表示
  • 带有结论的表示
  • 小练习
  1. 局部标记技巧
  2. 直观数组

直观隐性数组

Direct Hidden Subset

上一页直观数组下一页直观显性数组

最后更新于2个月前

隐性数对(Hidden Pair)

如图所示。我们使用排除的逻辑,看 b1 的数字 2 和 9,看看有什么说头。

我们发现,数字 2 在 b1 里只能填在 r2c1 和 r3c2 里,而数字 9 也恰好也只能填在这两个单元格里。倘若我们让 r2c1 是 2 之后,因为别处无法填 9 的缘故,此时就只有 r3c2 可以是 9 了;反之,如果 r2c1 是 9 的话,那么 r3c2 就得是 2,因为别处无法填 2。

我们把他们配对起来一起思考。它俩位于同一个宫里,这意味着什么呢?意味着这一个宫里填入 2 和 9 的机会只能落在 r2c1 和 r3c2 之中;而 r2c1 填一个数,r3c2 又填一个数,就把 2 和 9 名额给占满了。因此,这两个单元格就没有机会填入其他别的数字进去。刚好,我们发现其实 r3c2 如果不思考到这一层的话,它其实是可以填 5 的。但是如果有了这个约束后,就直接有了结论 r3c2 <> 5。

拿到这个结论后,我们再看 c2。我们发现,c2 里填入 5 的位置现在只剩下 r6c2。所以,r6c2 = 5 是本题的结论。

我们把这个技巧称为隐性数对(Hidden Pair),指的是 r2c1 和 r3c2 的 2 和 9 的排列。

RCB 表达里,如果出现多个单元格无法使用前文归并的方式整合在一起,可以使用大括号将它们括起来,表示一组单元格,如 {r2c1, r3c2} 表示这两个单元格。

另外,数字 2 和 9 依然可以使用小括号括起来。不过这次我们可以直接使用一个小括号,就可以括起来。所以上面隐性数对的 RCB 表达是 {r2c1, r3c2}(29)。

至此我们就把 RCB 的全套规则全部介绍完毕了。之后我们会给各位列举一下它的一些详细规则。

下面我们再来看一则例子。希望各位这次能自己理解。

隐性三数组(Hidden Triple)

可能你会问我,文章不是介绍数组吗,为什么名字却是隐性数对而不叫隐性数组什么的。实际上是因为,和区块一样,数组在分了显性数组和隐性数组后,还有规格上的划分。前面我们学到的是数组里规格为 2 的情况,它是数组里最小规格的情况。下面我们来说一下隐性数组在规格为 3 的情况。

如图所示。和前面的解释逻辑相似,只是这次我们要一并用到三个单元格。

只看 b9,我们可以看到,数字 1 能填入的位置只有 {r8c78, r9c8} 三个单元格,而恰好的是,数字 8 和 9 也都恰好只能填入在这三个单元格里。

很明显的是,数字 1 必须在其中预留一个席位,2 和 3 也都需要预留一个席位,这样三个单元格就被全部占满。这样一来,这三个单元格就没有任何机会填入其他别的数字。和前文一样,在没有这一层的逻辑之前,4 是可以填在 r8c78 里的;而现在我们有了 r8c78 <> 4,利用这一点,数字 4 在 r8 就只能填在 r8c5 里。所以这个题目的结论就是 r8c5 = 4。

我们把图中的 {r8c78, r9c8}(123) 称为隐性三数组(Hidden Triple)。

隐性四数组(Hidden Quadruple)

下面我们来看规格为 4 的情况。在平时做题里,规格为 3 和 4 的情况相对比较少见,所以我们只看下用例即可,平时做题基本遇不到这些题目。

这次我们仍旧关注于 b9,不过这次我们得看四种数字 1、4、6、7。

只看 1 的话,通过排除我们可以得到,b9 里填 1 的只有 r89c79(即 r8c79 和 r9c79 的缩写)四个单元格里。而 4 只能填在 r89c7 里,6 只能填在 r89c79 里,而 7 只能填在 r8c79 里。

这里和前面略有不同了。四个数字落在的单元格各不相同。不过,这并不是很重要,因为我们的本质是在排列数字的所填位置。而可填位置更少的 4 和 7 退一万步来讲也就是可能排列的位置少一些。我们优先保证它们填上,然后再去填剩下的 1 和 6。那么我们这样就可以得到一个和前文完全一致的结论——1、4、6、7 刚好用完 r89c79 四个单元格的席位,导致其他数字都填不进去。

填不进去的意义在于,例如数字 8,它就没有机会放在 r9c79 了。那么再使用关于 r9 的行排除,我们就有了 r9c4 = 8 的结论。

我们把这个技巧称为隐性四数组(Hidden Quadruple)。

这样,隐性数组的规格为 2、3、4 的三种情况就讲完了。

RCB 表达的完整规则

下面我们针对于前面用到的所有 RCB 表达进行一轮完整的说明。

纯单元格表示

  1. 对于单个单元格:直接用 r<行号>c<列号> 表示,其中 <行号> 和 <列号> 替换为具体的行列编号;

  2. 对于多个单元格:

    1. 如果它们的行一致,或它们的列一致,则合并它们的行或列(只写一次),并列举另一边的所有编号数值:

      1. 如果合并后还具有相同的行号序列或列号序列,就还可以继续合并,直到无法合并为止;

      2. 如果合并后无法继续合并,就直接用这个结果表示即可。

    2. 如果它们的行号和列号都不一样,则直接用大括号括起来即可。

带有涉及数字的表示

直接使用小括号把所有用到的数字括起来即可。

带有结论的表示

  1. 如果结论是得出一处单元格的填数(简称出数(Assignment)),则使用等号 = 连接单元格和数字;

  2. 如果结论是得出某一个单元格不能填入什么数字或一组数字(简称删数(Elimination 或 Deletion)),则使用不等号 != 或 <> 连接单元格和数字。

小练习

下面我们来一些小练习:写出它们的 RCB 表达。

  1. 单元格 r2c3、r2c5 和 r2c9;

  2. 单元格 r1c23、r2c234 和 r3c234;

  3. 单元格 r1c3 应填入数字 7;

  4. 单元格 r2c56 不应填入数字 2 或 6;

  5. 单元格 r1c8 的数字 1、2、3、5;

  6. 单元格 r1c89 不能是 8 或 9;

  7. 第 3 行;

  8. 第 4 宫;

  9. 第 2 列的全部数字 2。

答案:

  1. r2c359

  2. {r1c23, r23c234},或者 {r123c23, r23c4} 也行

    1. 最好不要写成 {r23c23, r23c4, r1c34},因为会多一项,可理解为数学上的“不是最简形式”

  3. r1c3 = 7

  4. r2c56 <> 26

  5. r1c8(1235)

  6. r1c89 <> 89

  7. r3

  8. b4

  9. c2(2)

隐性数对 + 列排除
隐性数对 + 列排除
隐性三数组 + 行排除
隐性四数组 + 行排除