有人给我供了个题,请你仔细阅读,客观评价题目。主要从几个方面:是否原创,难度如何,质量如何,优雅度如...
Criado em: 5 de abril de 2026
Respondido usando GPT-5.4 Thinking por Chat01
Criado em: 5 de abril de 2026
Respondido usando GPT-5.4 Thinking por Chat01
有人给我供了个题,请你仔细阅读,客观评价题目。主要从几个方面:是否原创,难度如何,质量如何,优雅度如何。
pythonimport itertools, math def coeffs(A): S=sum(A) c=[0]*(S+1) c[0]=1 for a in A: for m in range(S,a-1,-1): c[m]+=c[m-a] return c def good(A): c=coeffs(A) return all(c[m]!=0 and m%c[m]==0 for m in range(1,sum(A)+1)) def prop_set(A,M): S=sum(A); c=coeffs(A) return all(c[m]>0 and S%c[m]==0 for m in M) for n in [3,4]: maxa=12 allA=list(itertools.combinations(range(1,maxa+1),n)) goods=[A for A in allA if good(A)] print(n, len(goods), goods[:10], goods[-3:]) Mstar={1,2,4,8,16}
pythonimport itertools, math def coeffs(A): S=sum(A) c=[0]*(S+1) c[0]=1 for a in A: for m in range(S,a-1,-1): c[m]+=c[m-a] return c def good(A): c=coeffs(A) return all(c[m]!=0 and m%c[m]==0 for m in range(1,sum(A)+1)) def test_M(n,maxa,M): allA=list(itertools.combinations(range(1,maxa+1),n)) for A in allA: if prop_set(A,M)!=good(A): return False,A,good(A),prop_set(A,M) return True,None,None,None def prop_set(A,M): S=sum(A); c=coeffs(A) for m in M: if m>S or c[m]<=0 or S % c[m]!=0: return False return True for n,maxa in [(3,10),(4,13)]: U=list(range(1,2**n)) valid=[] for r in range(1,len(U)+1): if r>n+1: break found=0 for M in itertools.combinations(U,r): ok, A, g,p=test_M(n,maxa,M) if ok: valid.append(M) found+=1 print('n',n,'r',r,'found',found) if found: break print(valid[:10], 'count', len(valid))
我认真读完了题面和整份解答。先给结论:
这题是好题,而且是“命题意识很强”的好题。
它不是那种一眼神仙、短小绝妙的题,而是那种结构完整、层次清楚、结论很硬的题:有核心分类、有最优性下界、有唯一性收束。整体质量高,但优雅度主要集中在前半段,后半段更偏“强构造、强技术”。
我的判断:完整题目层面,原创性中上;核心数学内核层面,不算特别新。
更具体地说:
这题最核心的第一层,其实落在一个很经典的母题上:
“哪些正整数序列能把 到总和 全部表示成子集和?”
这和 complete sequence / Brown criterion 这一类经典结果非常接近;而幂次 的“二进制唯一表示”本身也是老而强的原型。公开资料里,Brown criterion 就是在刻画这类“每一项不超过前缀和加 1”的完备表示序列;现代子集和研究里,complete sequences 也是一个成熟方向。(MSU Libraries)
所以,如果只看“好组必须是 ”这个内核,我不会说它非常原创。
真正比较新的地方在于外层包装:
这一步把原本一个“分类题”升级成了一个“分类 + 极值 + 唯一性”的组合命题,命题感一下子就出来了。这个包装是有新意的。
所以我会这样定性:
我的分数会给:
综合就是 7.5/10 左右。
难,而且是实打实的难。
这题难不在一个爆点,而在它要连续完成三件事:
其中第一部分已经不轻松了。你不仅要想到 和
这种“完全覆盖”的必要条件,还要把“不是幂次”时的第一个偏离点抓出来,然后用一段很精细的 递推与相邻整除矛盾,把它逼死。这段其实已经接近压轴题核心段。
而后面的最优性、唯一性并不是“顺手一推”,而是要专门构造 这些反例族和筛选族。这个层次已经不是普通高联中段题的手感了。
所以我的体感是:
也就是说,作者标“高联第4题;CMO第2/5题”,我觉得:
我会给难度 8.5/10。
质量高。
优点很明显。
第一,结论干净。
最终答案不是一堆零碎情况,而是唯一的
这种结论很适合竞赛命题。
第二,层次完整。
题目不是停在“猜到答案并验证”就完,而是要求你证明“最优”“全部”“唯一”。这让题目有闭环。
第三,解法结构清楚。
整份解答可以分成:
这是非常标准、适合评分的结构。作为供题材料,这点很重要。
第四,反例构造是系统化的。
不是临时拍脑袋造一个坏例子,而是按区间 分块,各自配一套对抗构造,说明每一块都必须打点。这个命题设计是成熟的。
但也有缺点。
最大的缺点是:题目有点“工程化”。
“好组”“证据集”“最优证据集”三层定义一上来全堆给学生,阅读负担很重。学生第一次看,未必能迅速抓住核心是“子集和表示 + 检测点最优化”。
第二个缺点是:条件略有人造感。
原始性质是 ,但证据集里检验的却变成“ 是 的正因子”。这当然是精心设计过的,也正因为这样才做得出后面的下界与唯一性;但从审美上说,它不像天然问题,更像为了做“最优证据集”而特意调出来的检测规则。
所以我会说:
中上,但没有质量那么高。
这题最漂亮的地方,是前半段那个核心引理。
尤其是这条链:
这段是有明显“灵光”的,挺漂亮。
但整题从“漂亮”走到“完成”,后半段就明显变成技术推进了:
、、区间块、 分类、反向归纳……这些都有效,也都合理,但不算那种读完会拍桌子的简洁。
所以我的评价是:
一句话概括就是:
这是一道“强题”,但不是“仙题”。
它更像一台搭得很稳的机器,而不是一把寒光一闪的刀。
我会给一个比较稳的综合结论:
如果用一句话总结:
这题的亮点不在“一个惊艳妙想”,而在“把经典子集和骨架,包装成一个完整而有力度的最优证据集问题”。
所以它的强项是命题完成度,弱项是自然感和整体轻盈感。
如果你愿意,我可以继续帮你做第二层评价:站在命题人的角度,判断它适不适合拿去投高联/冬令营/校选拔,并给出修改建议。