给定长度为 n 的数组 a。把所有相邻的三个数形成的三元组 (ai,ai+1,ai+2) 记下来,共有 m=n−2 个。题目要求统计三元组对 (b,c) 中,恰好有且只有一个位置不同(海明距离为 1)的对数。
观察:一对三元组只在第 1 位不同 ⇔ 它们的 (b2,b3) 完全相同、但 b1 不同。于是可以把问题拆成三类并求和(互不重叠):
小 Q 得到了一个包含 n 个整数的数组 a 。他非常喜欢三元组,所以他把所有相邻的三个位置都看成一个三元组,然后抄到了他的本子上,一共写了 n−2 个三元组。
当且仅当两个三元组恰好有一个位置不同时,小 Q 认为这两个三元组蕴含了韵律的美。即满足以下条件之一时,小 Q 认为一对三元组符合他的要求: