Time Limit: 10 Sec  Memory Limit: 512 MB
Submit: 1138  Solved: 556
[Submit][Status][Discuss]

Description

小呆开始研究集合论了,他提出了关于一个数集四个问题:
1.子集的异或和的算术和。
2.子集的异或和的异或和。
3.子集的算术和的算术和。
4.子集的算术和的异或和。
    目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把
这个问题交给你,未来的集训队队员来实现。

Input

第一行,一个整数n。
第二行,n个正整数,表示01,a2….,。

Output

一行,包含一个整数,表示所有子集和的异或和。

Sample Input

2
1 3

Sample Output

6

HINT

【样例解释】

6=1 异或 3 异或 (1+3)

【数据规模与约定】

ai >0,1<n<1000,∑ai≤2000000。

另外,不保证集合中的数满足互异性,即有可能出现Ai= Aj且i不等于J

思路:

就举个例子来简单说明一下吧!

输入 3

  1  2  3

01

          10

         =  11

         1100          

          =1111

            1111000

       =1110111

    1  1  1  0  1  1  1

下标  6  5  4  3  2  1  0

等价    1+2+3 2+3  1+3    1+2 2  1  0

            3

一个数异或0没有什么影响

因为下标为3有两个式子,于是异或后为0

代码:

#include<cstdio>
#include<iostream>
#include<bitset>
#include<cstring>
using namespace std;
int N;
bitset<>bit;
int main()
{
scanf("%d",&N);
bit[]=;
while(N--)
{
int x;
scanf("%d",&x);
bit^=bit<<x;//bit = bit^(bit<<x)
}
int ans=;
for(int i=;i>=;i--)
if(bit[i]==)
ans^=i;
printf("%d",ans);
return ;
}

最新文章

  1. ssh密钥私钥不能登陆问题处理
  2. Python学习资料下载地址(转)
  3. Oracle配置本地网络服务名
  4. Android实现XML解析技术
  5. win7win8远程桌面提示凭证不工作问题
  6. AngularJS 通过 Spring Restful 上传文件
  7. Spring——jar包详解
  8. 获取Google音乐的具体信息(方便对Google音乐批量下载)
  9. C# Base64方式的编码与解码
  10. 探索SQL Server元数据(三):索引元数据
  11. python实现本地图片上传到服务区
  12. bzoj1494 生成树计数 (dp+矩阵快速幂)
  13. Visual Studio强大的帮助工具--Resharper安装与使用
  14. SpringMVC和Struts是线程安全的吗?为什么?
  15. delphi 动态绑定代码都某个控件
  16. FMS Dev Guide学习笔记(远程共享对象)
  17. java中定时器总结
  18. 002.FTP配置项详解
  19. crawlspider爬虫:定义url规则
  20. django模板中自动加载static

热门文章

  1. UVA1608_Non-boring sequences
  2. RemoteDisconnected: Remote end closed connection without response
  3. 54.Counting Bits( 计算1的个数)
  4. React-Native实战项目-导航器篇(一)
  5. vue项目在webpack打包后背景图片显示不了
  6. Docker容器网络前提提要
  7. 2019牛客暑期多校训练营(第三场)I Median
  8. Hibernate中Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法有什么区别?
  9. @InitBinder 前端传递date时间类型属性时,转换错误问题
  10. vue框架中什么是MVVM