mibbp

f-6题解

  链接:https://vjudge.net/contest/436484#problem/F  

  这个题二进制思维题,首先第一点按位且运算只要这一位上有一个是0那么这一位进行多少次按位且都是0。

  题目的意思就是在所有的k位二进制数里挑n个数满足这N个数的按位且运算和是0且n个数的和加起来最大。

  理解题意的话那其实就很简单了,我们要想n个数按位且和位0那么就需要这些数中二进制的每一位都要至少有一个0才可以,但是我们又想让总和最大,那就需要二进制中每一位为1的数字越多越好,也就是只要有一个0就行了,因为在加法运算里0没有想和最大必须的让1的数量最多,但是又得至少有一个0所以只要有每一位只要一个数字那一位是0其余都是1就好了(这个理解不了就没法了)。

  然后理解了就很简单了啊,答案就是n^k,打个快速幂板子就好了。

posted on 2021-05-01 12:27  mibbp  阅读(96)  评论(0编辑  收藏  举报

导航