由n个整数构成的数组{a1,a2,...,an},我们有如下操作:
本题直接看很难看出规律,打表可以发现当n为偶数时规律很明显,如下图:
不难看出最后每个ai的系数跟杨辉三角有关,手玩几个样例可以发现当n为4的倍数时最后一列是相减,非4的倍数时最后一列是相加,当n为奇数时可以先算一列转换成偶数来做.
记组合数c(n,m),那么当n为偶数时最后一列的系数每两个数一组依次为c(n/2−1,i/2),直接预处理组合数再根据上述规律算即可
c++
#include<bits/stdc++.h>