专题地图 › 排列组合
2015 年山西预赛 · 第 11 题
F2解答题排列组合
若集合 M={1,2,…,200} 的子集 A 中的每个元素都可表为两个正整数(允许相同)的平方和,求这种子集 A 中元素个数的最大值。
作答
这是解答题,请在纸上写出完整过程。写完后对照解答给自己评分。
解析
思路
最大子集就是所有合格整数的集合;按较小平方根列举后去重,不能把同一整数的多种表示重复计数。
解答
记 E={u2+v2≤200:u,v 为正整数}。全部选入 E 即得到最大子集,故只需求 ∣E∣。由对称性取 u≤v,则 1≤u≤10,且 u≤v≤⌊200−u2⌋。按 u 从小到大列举,只保留此前尚未出现的和,得到
u12345678910新增的整数2,5,10,17,26,37,50,65,82,101,122,145,170,1978,13,20,29,40,53,68,85,104,125,148,173,20018,25,34,45,58,73,90,109,130,153,17832,41,52,80,97,116,137,160,18561,74,89,106,146,169,19472,100,117,136,157,18098,113,149,193128,164162,181∅
由平方根范围可知列表穷尽,每个新增数确有对应正整数平方表示;去重后各行数量为 14,13,11,9,7,6,4,2,2,0。因此
max∣A∣=∣E∣=68.
复核
例如 50=12+72=52+52 只计一次;200=22+142=102+102 也只计一次。允许两个正整数相同,故 2=12+12 合法;不允许零,所以不能因 1=02+12 而收入一。
方法总结
集合由可重复表示生成时,先给出有限完备参数范围,再对生成的值去重;最大子集须说明可同时选取全部合格值。
为什么评为 F2(会透露解法方向)
需要在完备的正整数平方根范围内列举并对表示去重,同根和零根限制不同,不能把表示对的数量当成元素数量。
用到的方法(会透露解法方向)
核心工具:有限枚举与去重