发现最难受的是每行必须选最大值,不好统一刻画。
但是我们可以直接转化这个问题:泛化为从每行选一个数,求最大可能值。不难发现这样答案不会变化。
于是可以状压 dp,$f(i,S)$ 表示处理完前 $i$ 列,目前 $S$ 中为 $1$ 的行已经选上数的最大可能值。
转移直接枚举循环位移,然后枚举子集转移即可。$\mathcal O(Tmn3^n)$。
再做一些最优性的分析,加以预处理,可以做到 $\mathcal O(T(m\log m + n^32^n + n3^n))$。