小编Man*_*shi的帖子

通过一次翻转k位使最大值为1

给定一个n位向量和一个整数k,1 <= k <= n,我们必须通过多次应用以下操作(包括零次)来最大化其中的个数:

  • 精确选择k位(不一定是连续的)并翻转其状态(0到1、1到0);

经过分析,我得出结论,如果n> k,我们也可以同时翻转任意两位。例如,对于n = 5,k =4。我们可以这样做,仅翻转最后两位。

  • xxxx_
  • xxx_x

“ x”表示我们在该位置翻转位。

但是我不确定之后该如何进行,而且我无法再进行任何观察了。那么,什么是正确的方法呢?您可以假设使用n ^ 2算法是可行的。

algorithm mathematical-optimization bit bitstring

5
推荐指数
1
解决办法
158
查看次数