定义
有限集 A:所有满足若干条件的事物的集合。
有限集 B:所有满足若干其它条件的事物的集合。
若 A,B 间存在某种对应关系,则求 A 等价于求 B。
问题
数量
问题:|A| 是多少?
|A|=|B| 等价于 A,B 间能建立双射。
证明:
- 若 |A|=|B|,将 A,B 中的元素分别编号为 1,2,⋯,|A|,则编号相同的元素可以一一对应,因此 A,B 间可以建立双射。
- 若 A,B 间能建立双射,假设 |A|≠|B|,不妨设 |A|>|B|,则 A 中至少存在一个元素无法在 B 中找到对应,这与 A,B 间能建立双射矛盾,因此假设错误,假设的否命题 |A|=|B| 成立。
例题:
最值
问题:A 上元素某个属性 P 的最值是多少(每个元素有且仅有一个 P)?
以最大值为例,若以下条件同时成立,则 max{Pa∣a∈A}=h(max{P′b∣b∈B}):
- ∀a∈A,∃f,s.t.f(a)∈B。
- ∀b∈B,f−1(b)∈A。
- ∀b∈B,∃h,s.t.Pf−1(b)=h(P′b) 是单增函数。
注意:f−1 不同于映射的数学定义,可以一对多,且若 f−1 为多值映射,则 |B|<|A| 可能成立。
证明:假设以上条件成立但最值关系式不成立,不妨设 max{Pa∣a∈A}>h(max{P′b∣b∈B}),则必存在 Pak=max{Pa∣a∈A},满足 f(ak)∉B,这与条件 1 矛盾,因此假设错误,假设的否命题成立,即若以上条件成立,则最值关系式成立。其中,f(ak)∉B 可反证,假设 bk=f(ak)∈B,则 h(max{P′b∣b∈B})≥h(P′bk)=Pak=max{Pa∣a∈A},这与假设矛盾。
例题:148. 合并果子
存在性
问题:|A|=0 是否成立?
若以下条件同时成立,则命题 “|A|=0 等价于 |B|=0” 成立:
- ∀a∈A,∃f,s.t.f(a)∈B。
- ∀b∈B,f−1(b)∈A。
注意:f−1 不同于映射的数学定义,可以一对多,且若 f−1 为多值映射,则 |B|<|A| 可能成立。
证明:若以上条件成立,则
- 若 |A|=0,假设 |B|≠0,则 ∃b∈B,满足 f−1(b)∈A,因此 |A|>0,这与 |A|=0 矛盾,因此假设错误,|B|=0 成立。
- 若 |B|=0,假设 |A|≠0,则 ∃a∈A,满足 f(a)∈B,因此 |B|>0,这与 |B|=0 矛盾,因此假设错误,|A|=0 成立。
例题:5380. 三角形
总结
计数问题的等价转换一般要建立双射,最值和存在性问题可以建立从大集合到小集合的映射,从而简化问题。其中,最值问题通常出现原集合中多个元素属性相同,而存在性问题通常是原集合中的多个元素可投影到同一个元素。要证明转换后的问题等价于原问题,即证明原问题的解是目标问题的解,且目标问题的解是原问题的解。
欢迎路过的大佬纠正和补充。
Orz
周赛第二题都不会😭
很好。
谢谢。