题面
样例
2 3
1 0 1
0 1 1
3
分析
考虑正着限制最大的数不超过一半不好做,那我们可以反着来。
令 d p [ i ] [ j ] [ k ] dp[i][j][k] dp[i][j][k] 为第 i i i 行,此列指定数 p o i n t point point 数量为 j j j 个,选的非指定数的个数为 k k k 的方案数。
则一共有三种情况
C a s e 1 : Case\ 1: Case 1: d p [ i ] [ j ] [ k ] = d p [ i − 1 ] [ j ] [ k ] dp[i][j][k] = dp[i - 1][j][k] dp[i][j][k]=dp[i−1][j][k] (此列不选数字)
C a s e 2 : d p [ i ] [ j ] [ k ] = d p [ i ] [ j ] [ k ] + d p [ i − 1 ] [ j ] [ k − 1 ] ∗ ( p r e [ i ] − a [ i ] [ p o i n t ] ) Case\ 2:dp[i][j][k] = dp[i][j][k] + dp[i - 1][j][k - 1] * (pre[i] - a[i][point]) Case 2