由数据范围容易想到网络流.由于操作只是对于棋盘上相邻两格,容易想到给其黑白染色. 假设已经知道最后要变成什么数.那么给黑白点之间连边,其流量则表示同时增加的次数,再用源汇给其限流为需要增加的数即可. 考虑最后应该变成什么数. 如果棋盘中黑白格子数量不同,设最后变成的数是x,则x*黑格数量-黑格数字和=x*白格数量-白格数字和,若黑格数量多即x=黑格数字和-白格数字和.直接变为最大值是不一定合法的. 否则首先黑白格子内权值和应相同,否则无解.如果变成某个数是合法的,变的更大也是合法的.那么二分最后…