在本系列的第四篇“简单异数链”中,向大家介绍了XY-Wing等一系列Wing类技巧,并提到可以用(拐弯的)数组的观念来理解这些结构,经过第六篇ALS的学习之后,大家回过头再去看Wing,应该可以发现相关的实例都可以用ALS去解释。本篇则要介绍一种与上述结构类似的删除技巧——SDC(Sue de Coq)。

一、基本形态

Sue de Coq这个命名来自于SDC技巧最早发现者的论坛昵称,更正式的名称应该是Two-Sector Disjoint Subsets(双分离子集删除法),我们先来看SDC的两种基本形态。

图1 SDC-01

图1中,B4和R5深色背景4个待解格中存在且仅存在(A、B、C、D)4个候选数,可将这4个候选数分成红(A、B)、绿(C、D)两个分离子集(红∩绿=Ø),将4个待解格按其所在单元分为宫B、行R两个子集,红色(A、B)存在于子集B三格中,绿色(C、D)存在于子集R三格中,两个待解格子集存在交集X(交叠区域两格,X=B∩R),X中的候选数为红、绿两个候选数分离子集的并集,若满足这些条件,红、绿两个子集可各自对所在单元其他格内的候选数进行摈除

为什么可以这样删数呢?以ALS的视角来看原理很简单,将这四格按所在单元分为宫、行两组ALS(每组都是3格4数),此时:

1、若宫行相交区域的A、B都不成立,则R5深色3格中只能填入C、D两个候选数,违反数独规则,故宫行相交区域的A、B必须成立一个,这样就会与R4C1格构成AB数对,进而对AB数对所在的B4进行摈除;

2、若宫行相交区域的C、D都不成立,则B4深色3格中只能填入A、B两个候选数,违反数独规则,故宫行相交区域的C、D必须成立一个,这样就会与R5C5格构成CD数对,进而对CD数对所在的4进行摈除。

我们还可以用数组的视角来进行分析:在深色4格中,存在且仅存在(A、B、C、D)4个不同的候选数,虽然4格不在同一单元,但他们籍由交叠区域联结,并不影响(ABCD)数组的成立(在N格中存在且仅存在N个不同候选数),亦即(A、B、C、D)4个候选数锁定了这4格,只是由于这个数组拐了弯,分处不同单元,其删数方法也不同于正常的数组。在该数组中,仅存在于特定单元的候选数集只能对所在单元其他格进行摈除。

来看第2种基本形态:

图2 SDC-02

与图1示例不同之处在于,相交区域多出了一个候选数E,相应的格数也增加了一格,深色5格存在且仅存在 A、B、C、D、E 5个候选数,我们仍可将这些候选数分为分处宫、行的两个分离子集(AB)与(CDE)或者(ABE)与(CD),并且,宫和行(列)相交区域的三格为两个分离子集的并集,与上例一样,大家可以分别用数组和ALS的视角来理解删数的逻辑,只是本例中由于候选数E仅位于相交区域内(亦即E同时存在于B4、R5两个单元),所以,E可以对B4和R5两个单元进行摈除。

来看实例:

图3 SDC-03

图3盘势中,B7和R7中R7C137、R8C3四格仅含有(3、4、5、9)4个候选数,蓝色候选数(4、5)构成一个子集,紫色候选数(3、9)构成一个子集,两个分离子集相交于R7C13两格,且这两格为两个子集的并集,这4格形成SDC结构,每个子集可对其所在单元其他格内的候选数进行摈除(红色)。

图4 SDC-04

图4则是基本形态2的一个实例,相交区域多出了候选数4,大家可以根据前面的介绍来理解本例的删数,具体过程不再赘述。

二、扩展形态

在基本形态的基础上,组成SDC的各单元待解格每增加一个新的候选数(不同单元可增加相同的候选数),都须相应在该单元增加一个仅含有SDC中候选数的待解格,SDC待解格中的所有候选数可按其所处单元分为若干个子集,每个单元的候选数子集须存在于其所含元素数+1的待解格中,且不同单元的待解格存在交叠区域(格数≧2),交叠区域内的候选数来自这些子集的并集(交叠区域候选数个数≧交叠区域格数+2),每个子集都可对自身所处单元内其他格中的候选数进行摈除。

图5 SDC-05

图5的例子就是基本形态一的扩展,B6和C8中,绿框5格中仅存在候选数(3、5、7、8、9),这些候选数可分为宫(7、8、9)和列(3、5)两个分离子集,每个子集都存在于其所含元素数+1的待解格中,宫列交叠的两绿框格内的候选数(3、5、7、8)来自宫、列两个子集的并集(3、5、7、8、9),宫中的子集(7、8、9)可对B6其他格中的7、8、9进行摈除,列中的子集(3、5)可对C8其他格中的3、5进行摈除。

图6则是基本形态二的扩展,7格7数,大家可以对照定义自己揣摩一下删数的过程。

图6 SDC-06

图7是基本形态一的扩展,特殊之处在于列和宫的待解格中增加了相同的候选数1,依然可以将其分为C7绿框四格(1、4、9),B9绿框四格(1、2、8)两个子集,这两个子集都是3数4格,交叠区域两格候选数为(2、4、8、9),其元素来自于两个子集的并集,可分别删去C7其他格中的1、4、9,B9其他格中的1、2、8。

图7 SDC-07

图8的实例则是在图9的基础上再次扩展,请仔细体会。

图8 SDC-08

以上都是可以分为两个子集的SDC,两个以上子集的SDC非常难观察,平时做题几乎用不到,就不介绍了。文末附上几个SDC的练习题,大家看看能不能找出来。

SDC 练习题1

SDC练习题2

SDC练习题3

作者:零时四分_719b
链接:https://www.jianshu.com/p/673d43264984
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/asdyzh/p/10145003.html

数独高阶技巧之八——SDC相关推荐

  1. 数独高阶技巧入门之七——AIC Nice Loop

    AIC(交替推理链,Alternate Inference Chain) 在简单异数链一文中我们介绍过XY-Chain技法,AIC可以看作是XY-Chain的扩展.有别于XY-Chain仅局限于双值格 ...

  2. 数独高阶技巧入门之六——ALS

    ​在这个系列的第一篇(链及其简单应用)以及第四篇(简单异数链)中已经简单介绍过ALS结构的定义,即n格中存在n+1个不同的候选数 (双值格可视为特殊的ALS结构) .根据数独规则,在组成ALS的候选数 ...

  3. 数独高阶技巧入门之二:简单的单数链结构——双强链

    ​如果在数独盘势中,我们找到关于某个候选数的两条强链,且这两条强链的一侧在同一单元(行.列.宫)内,称为base,另一侧有共同作用格,称为cover.根据前篇<链及其简单应用>中的定义,b ...

  4. 数独高阶技巧入门之四:简单异数链

    一.XY-Wing 图1 XY-Wing01 ​图1中,R2绿色三个双值格构成三链数,则在该行中X.Y.Z三个数字只能存在于绿色三格中.如果我们把三链数构成的直线掰弯,比如掰成像下图中的两种情况, Y ...

  5. python get函数 i_Python高阶技巧,你 GET了吗?

    原标题:Python高阶技巧,你 GET了吗? Python 是一种美丽的语言,它简单易用却非常强大.但你真的会用 Python 的所有功能吗? 下面是 Python 的 5 种高级特征,以及它们的用 ...

  6. golang 分析调试高阶技巧

    layout: post title: "golang 调试高阶技巧" date: 2020-6-03 1:44:09 +0800 categories: golang GC 垃圾 ...

  7. Word论文必备的高阶技巧

    之前写论文,大部分绘图之类都是用visio,ppt,ps.后来发现word绘图能力也足够达到论文的需求,不仅如此,还能有很多很有用的操作.于是.总结了一下.供以后使用.另有一篇word有关的简单排版技 ...

  8. 【强化学习高阶技巧】Experience Replay经验回报

    强化学习相关的高阶技巧Experience Replay经验回报的介绍.此处笔记根据B站课程,王树森老师的强化学习记录而来.10.经验回放 Experience Replay (价值学习高级技巧 1_ ...

  9. 专业之路:13条PS高阶技巧

    1.更清晰的圆 当画一些较小的形状时,锐度非常重要,怎样让图像没有锯齿感呢?有时候圆角和圆形的绘制过程中,经常会出现这种问题.Isaac Grant的这条建议能帮助你解决这个问题,非常简单但有效的办法 ...

  10. nvidia-smi命令详解和一些高阶技巧介绍

    ❤️觉得内容不错的话,欢迎点赞收藏加关注

最新文章

  1. react antd Table 选中某一行,其它行也被选中了
  2. android ndk mac安装成功,Mac下Android Studio NDK 环境搭建并运行
  3. vFORUM十大“最”看点,带你“撩”会议
  4. mysql32位的能装在64位的电脑上吗,mysql32位能装64位电脑【excle中怎么将log值变回原来的数据库】...
  5. 挖掘城市ip_抖in杭州嘉年华,原来城市营销还能这么玩!
  6. 云原生 云计算_使云原生计算具有普遍性和可持续性
  7. 01-浏览器同源政策 以及 什么是跨域?怎么解决跨域问题?
  8. Worktile中百万级实时消息推送服务的实现
  9. MYSQL中SET NAMES UTF8的作用和内涵
  10. 线性回归--深度学习
  11. mui+hbuilder 将图片压缩并转变为base64 与改变图片尺寸大小来减小图片文件大小
  12. Oracle常用文档整理
  13. 【数据中心管理】之磁盘阵列以及 RAID技术详解
  14. Netflix 文化
  15. TI高精度实验室ADC系列培训视频 第3章和第4章 ADC噪声分析
  16. J2ME开发环境搭建 之 Sun WTK(转)
  17. jmeter教程系列(20)jmeter录制接口自动化脚本
  18. day12-后羿采集器
  19. 从终端进入本地其他磁盘
  20. erp企业管理系统需要服务器吗

热门文章

  1. 前端要点总结1(2021-12)
  2. lbj学习日记 03 循环和选择结构的刷题心得
  3. 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
  4. 用python完成淘宝毫秒级抢单,助你秒杀淘宝折扣商品
  5. ubuntu20.04安装谷歌输入法命令
  6. 分析方法论_用户生命周期的建立
  7. java lua脚本_在Java中使用Lua脚本语言
  8. dhcp authoritative参数作用
  9. 送给梨花仙子国的礼物
  10. python mp4提取音频_Python从视频文件中提取wav