hdu 春季联赛第 6 场 P1008
- 这道题本身不难,只是有一些很有意思的思考。
- 我们考虑一个数组,我们考虑重复对其执行以下操作的其一:
- 选择任意两个元素 \(a_i\), \(a_j\),其贡献为 \(a_i + a_j\),将其计入答案之后将 \(a_i + a_j\) 插入数组。
- 选择任意两个元素 \(a_i\), \(a_j\),其贡献为 \(a_i · a_j\),将其计入答案之后将 \(a_i + a_j\) 插入数组。
- 我们发现,如果我们只执行操作 2,每次选择的 \(i, j\) 不会对答案产生影响,也就是说不管每次怎么选 \(i, j\),最终的结果都是一样的。但是如果只执行操作 1 则不是这样。这是分配律的杰作。当我们将操作定义为已经被操作的数分别与当前数进行运算时,不管这个运算是加还是乘,最终的答案都是不变的,因为按照这种方式来操作,假如我们视每次运算为产生了一个数对,那么最终会得到这种形式的数对集合:\(a_1a_2, a_1a_3, a_1a_4, a_1a_5, a_2a_3, a_2a_4, a_2a_5, a_3a_4, a_3a_5, a_4a_5\)。但是其实操作 1 是不符合这个操作定义的,只有符合分配律的操作 2 才符合这个操作定义。