-
-
[原创]KCTF第二题 Nepnep题解
-
发表于: 2023-9-4 21:54 8872
-
姗姗来迟,且没有电脑,开始写题的时候就已经有了四个解,好在没延误太久。
本题是一个蕴含信息论模型的题目,考察点主要在于理解天平称重寻找次品的称量模型,并将其转化为一个线性表达。
天平称重问题由来已久,主要是进行t次称重,在n个产品中有1个次品,次品或轻或重。注意到天平称重一次具有三个状态,于是共有3t种状态,而次品情况共有2n种,于是我们有2n≤3t即n≤23t取整数可知,最多可以秤取23t−1个物品并选出次品。
另一方面,观察常见的相关脑筋急转弯,我们可以发现最常见的模式反而是t=3,n=12的情况,这和我们估计的上界n=13不同,但这符合题设的t=4,n=39。通过对这类题目试做可以发现,n取上界的情况并不是不能选到,但是要通过对某次选择的情况做分类讨论再执行,这跟本题中提供的矩阵逻辑看起来很不相符;而另一方面,通过将n三等分的方式进行分组上称,使得编码方案更加整洁。注意到23t−1−1=23t−3=23t−1−1×3为3的倍数,于是三等分在数学上是可行的,那么我们合理猜想,在模型扩充的过程中,进行三等分一定是必须的一步,所以我们获得第一个矩阵信息:每行012的个数一致,这在4*39的矩阵上也刚好可以成立。
另一方面,考虑在现实中,如果一个球出现问题,那么称量时一定是其所在的组不平衡,且偏转方向相反。这个性质在线性表达时我们可以看到重要性。
接着我们考虑问题,假如一个球有问题,那么必然是其被选中时天平的平衡性被打破,而其轻与重的区别会导致天平倾向的角度完全相反。注意到从模型中抽离出后,某个球有问题即代表某一位被选中,于是某个列向量便被选出作为特征向量,根据过轻或过重得到两个相反的特征向量;而不同的问题球应当对应不同的特征向量,因而不同的列向量不应该是相同或相反;因此注意到共34−3=81=78个向量,两两分组得到39组向量,每组中二选一,正好对应39个列向量。
注意到这里题目为列向量整体规定了一个递增排序,所以每选定39个向量,都有唯一一个排列方案,这时复杂度为239。
注意到还有前文提供的其他一些约束条件:
1.每行012的个数一致;
2.不同的列向量不应该是相同或相反;
由条件1和递增:第一行应为“0”*13+“1”*13+“2”*13,而对于以第一行分类后三行构成的三个3*13矩阵升序排列。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
- [原创]KCTF第二题 Nepnep题解 8873
- 第十二题 尊严之战 Nep WP 14914
- [原创] KCTF2022春季赛 第十一题 虫洞末世 11071