To_Heart—题解——CF10E
对于这篇题解的解释
将原来的硬币系统记作向量 C = ( c 1 , c 2 , . . . , c n ) C=(c_1,c_2,...,c_n) C=(c1,c2,...,cn) ,满足 c 1 > c 2 > . . . > c n c_1>c_2>...>c_n c1>c2>...>cn,且 c n = 1 c_n=1 cn=1
将对价值 x x x 的一个表示记作向量 V V V ,即满足 V ⋅ C = x V⋅C=x V⋅C=x
将 V V V 用到的硬币数目记作 s i z e size size ,即 s i z e = V ⋅ ( 1 , 1 , . . . , 1 ) size=V⋅(1,1,...,1) size=V⋅(1,1,...,1)
易证一个贪心表示的子集也是一个贪心表示,一个最小表示的子集也是一个最小表示。
我猜这不需要解释
令 w w w 为最小反例,即最小的 w w w 使得 G ( w ) ! = M ( w ) G(w)!=M(w) G(w)!=M(w)
易证 G ( w ) G(w) G(w) 和 M ( w ) M(w) M(w) 的非零位集合无交
如果 G ( w ) G(w) G(w) 和 M ( w ) M(w) M(w) 的非零位有交,那么记 G ( w ) G(w) G(w) 和 M ( w ) M(w) M(w) 的非零位的相交为i,那么可以得到 G ( w − c i ) ! = M ( w − c i ) G(w-c_i)!=M(w-c_i) G(w−ci)!=M(w−ci) ,所以 w w w 不是最小反例, w − c i w-c_i w−ci 才是。
令 i i i 和 j j j 为 M ( w ) M(w) M(w) 最小和最大的非零位
有结论: M ( w ) M(w) M(w) 和 G ( c i − 1 − 1 ) G(c_{i-1}-1) G(ci−1−1) 的 1.. j − 1 1..j-1 1..j−1 位相同,第 j j j 位大1
证明:
G ( w ) G(w) G(w) 在 1.. i − 1 1..i-1 1..i−1 位上一定有非零位,所以 w > = c i − 1 w>=c_{i-1} w>=ci−1(1)
如果 G ( w ) G(w) G(w) 在 KaTeX parse error: Undefined control sequence: \simi at position 2: 1\̲s̲i̲m̲i̲-1位上没有非零位,那么只会在 i + 1 i+1 i+1 位以后有非零位,字典序小于 M ( w ) M(w) M(w) ,不满足字典序最大要求,所以只可能在 1 ∼ i − 1 1\sim i-1 1∼i−1 位上有非零位。
因为w是最小的反例,
所以 G ( w − c j ) = M ( w − c j ) G(w-c_j)=M(w-c_j) G(w−cj)=M(w−cj),
如果 G ( w − c j ) ≠ M ( w − c j ) G(w-c_j)\neq M(w-c_j) G(w−cj)=M(w−cj)
那么说明 w − c j w-c_j w−cj 是最小反例,而不是 w w w
而 M ( w − c j ) M(w-c_j) M(w−cj) 就是 M ( w ) M(w) M(w)在第 j j j 位上-1, 其他位都是一样的
所以 M ( w − c j ) M(w-c_j) M(w−cj) 的前 i − 1 i-1 i−1 位为0
所以 G ( w − c j ) G(w-c_j) G(w−cj) 的前 i − 1 i-1 i−1 位为0
所以 w − c j ≤ c i − 1 w-c_j \le c_{i-1} w−cj≤ci−1 (2)
剩下的就应该没问题了。