P1008 [NOIP1998 普及组] 三连击,置顶题解的问题
题目链接: https://www.luogu.com.cn/problem/P1008
置顶题解
暴力,加简化的判断,数学原理,2个集合内所有数相加相乘结果一样,2个集合的内容一样(没错我自己编得,灵感并不是我自己的,感谢帮我的大大)
置顶的题解中的数学原理应该是存在问题。我尝试证明的整体思路是不断缩写集合中元素值的取值范围,来证明更具体化的命题。题解中集合和数学中的集合不太一致,数学中的集合是不允许出现重复元素的,而题解中则允许,所以下面我将用 set 来表示数学中的集合,用以区分。
set 元素是任意的整数
如果 set 元素是任意的整数,这个命题很容易被证伪。只要两个集合同时包含 0,那么这两个集合的相乘结果必定均为 0。此时,我们只需要考虑这两个集合相加的结果,我们也很容易找到元素个数相同,但元素不全相同的例子,比如,\([0, 2, 2], [0, 0, 4]\),所以当 set 元素是任意的整数,易证该命题不成立。
set 元素是正整数
这个我是直接使用使用搜索引擎找在知乎找到的答案,这是一个反例,\([1, 8, 12], [2, 3, 16]\)。
set 元素是 1-9 个位数
我一开始觉得这个命题应该是成立的,想用数学归纳法去结果发现证明不了:(,然后觉得置顶题解下面的评论肯定能提供一些线索。果不其然,我这里发现了一个反例,
154 294 794 和 123 456 789 的总和与乘积都一样,然而数字不一样!!
甚至,有更一般化的反例公式,\([m(2m-1), m(2m-1), 1], [(2m-1)^2, m, m]\),
所以,这个命题又又不成立了。
为什么这个题解可以通过 AC
至于这个题解可以通过 AC,我想应该有两点原因,第一点是满足条件的反例比较少;第二点是由 3 个三位数组成的集合,并不包含所有的组合情况(\(9^9 = 387,420,489 \approx 3.9 \times 10^8\) 种可能),可能 3 个三位数组成的集合的组合中正好未包含这些反例。