[关闭]
@yang12138 2018-06-20T20:49:53.000000Z 字数 543 阅读 1059

CS Academy--Binary Flips

未分类


题目:
  给定一个数组,数组元素初始值都是.
  你需要对数组进行次操作,每次操作选定一个位置,分别将第行和第列的全部元素翻转(变成变成).
  问有多少种进行操作的方法使得次操作后数组总共有个为.
  

题解:
  假设最后有行和列总共被翻转了奇数次,那么总共有个格子为.
  分别考虑行和列,对行来说,设表示进行次操作之后有行被翻转奇数次的操作种数,显然:


  初始化.
  对列的操作同理,设为.
  那么:

  总时间复杂度是,空间复杂度.
  显然每个最多对应一个使答案合法,可以直接求出而不需要暴力,时间复杂度可以降为,不过在这个数据范围下仅仅算是常数优化.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注