相邻交换可以任意重排格子,且相同数字不可区分,因此可达状态完全由 1 的个数 K 决定:在 N=n×m 个格子中任选 K 个位置放 1。
灯板权值 W 等于相邻且状态不同的边数。网格图中,角点度数为偶数,内部点度数为偶数,只有非角边界点度数为奇数。可证明
W≡v∈S∑xv(mod2),有一块 n 行 m 列的灯板,格子 (i,j) 表示第 i 行第 j 列。每个格子的亮灭状态为 0 或 1,任何操作不得越出边界。
灯板的权值定义为:每个格子与其相邻且状态不同的格子个数之和的一半。权值为偶数时称该灯板为偶权灯板。两个格子相邻当且仅当曼哈顿距离为 1。
允许任意次交换两个相邻格子的状态。由于 0 与 1 各自不可区分,交换不会改变 1 的总数。请计算在保持可达的前提下,能够得到多少种不同的偶权灯板。两个灯板不同,当且仅当至少有一个相同位置的状态不同。
答案对 109+7 取模。
满足 n,m≥2 且 n×m≤5×105。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.