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,打个快速幂板子就好了。