当前位置: 首页> 文旅> 酒店 > 微信小程序推送消息给用户_建设网上银行怎么开通_营销策划案_长春建站程序

微信小程序推送消息给用户_建设网上银行怎么开通_营销策划案_长春建站程序

时间:2025/8/26 6:39:48来源:https://blog.csdn.net/weixin_65550131/article/details/146939337 浏览次数:0次
微信小程序推送消息给用户_建设网上银行怎么开通_营销策划案_长春建站程序

简单来说就是给你n个集合,若把集合分成子集和补集并且元素相加为偶数,有多少种情况。

我们以一个集合为示范,假设集合中元素为【6,6】👇

一共有4种方法,其两个子集元素相加为偶数且子集的并集为原来的集合的子集。

偶数情况就是拿偶数排列就可以,有多少个偶数就排列多少次。2的n次方

奇数需要换种思考方式,按照偶数的方式排列。把两个奇数当成一个偶数进行排列,若有一个单独的偶数无论如何都不能分成两个偶数的集合(加一个判断条件,单个奇数则输出0)。2的n次方/2

为了加快运算,中间的次方和取余运算我们使用位运算。也希望大家可以多了解一下计组的知识。

3&1==011与001大白话就是二进制的末尾代表了奇偶性  1<<1==1*2大白话就是每左移一次等于*2

代码如下👇

public static void main(String[] args) {Scanner scanner =new Scanner(System.in);int n=scanner.nextInt();for (int i = 0; i < n; i++) {//多少个集合int temp=scanner.nextInt();//多少个元素int a=0;//奇数int b=0;//偶数long sum=1;//每组答案for (int j = 0; j < temp; j++) {int temp1=scanner.nextInt();//每组元素if ((temp1&1)==1) {//位运算a++;}else {b++;}}if ((a&1)==1) {System.out.println(0);}else {int max=(int)(1e9+7);//题目要求for (int j = 0; j < a-1; j++) {sum=(sum<<1);//位运算sum%=max;}for (int j = 0; j < b; j++) {sum=(sum<<1);//位运算sum%=max;}System.out.println(sum);}}scanner.close();}

关键字:微信小程序推送消息给用户_建设网上银行怎么开通_营销策划案_长春建站程序

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: