厉害. 对于每一列选的数最多占一半,我们得设计一个三维 DP.然而状态刚好够,但是转移明显炸了(而且似乎还需要多项式?) 考虑正难则反,DP 不合法的方案数.总方案数很好算. 发现不合法的方案数只有某一列的出现次数超过一半,直接枚举这一列.设当前列为第 \(k\) 列. 设 \(dp_{i,x,y}\) 为前 \(i\) 行,当前列选了 \(x\) 个,其他列共选了 \(y\) 个的方案数. 再设第 \(i\) 行的 \(a\) 之和为 \(S[i]\),容易有: \[dp_{i,x,y}=dp…