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

回到顶部
Input
第一行,一个整数n。
第二行,n个正整数,表示01,a2….,。

回到顶部
Output
一行,包含一个整数,表示所有子集和的异或和。

回到顶部
Sample Input
2
1 3
回到顶部
Sample Output
6


如果我们能算出每种方案和的个数,那么我们就可以做出来了。

其次,我们可以想到我们其实不在乎具体多少个,只在乎奇偶,因为偶数异或没有影响。

所以我们求每种方案的奇偶性。直接dp复杂度太高,我们可以用bitset优化。

每次对全集合转移,s = s ^ ( 1 << x ) 。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=2e5+10;
int n,res;  bitset<N> bit;
signed main(){cin>>n; bit[0]=1;for(int i=1,x;i<=n;i++){cin>>x;  bit^=(bit<<x);}for(int i=0;i<N;i++)    if(bit[i])  res^=i;cout<<res;return 0;
}

BZOJ - 3687相关推荐

  1. BZOJ 3687 简单题

    3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 1073  Solved: 518 [Submit][Status][Discus ...

  2. bzoj 3687: 简单题

    2333,昨天模拟赛第一题死都想不出怎么优化tarjan,然而正解是一个kora***什么什么的东西,就是正反两遍dfs,然后这个算法求强联通分量的话,是可以用bitset来优化一下的(只考虑点). ...

  3. 【BZOJ 3687】简单题

    [题目] 题目描述: 小呆开始研究集合论了,他提出了关于一个数集四个问题: 子集的异或和的算术和. 子集的异或和的异或和. 子集的算术和的算术和. 子集的算术和的异或和. 目前为止,小呆已经解决了前三 ...

  4. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  5. S-T平面图中利用最短路求最小割(BZOJ 1001)

    BZOJ 1001: [BeiJing2006]狼抓兔子 最小割 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢 ...

  6. BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)

    题意 有 \(n\) 个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪. 因此,对于不同的开枪顺序,最后死的人也不同. 问最 ...

  7. BZOJ 2957楼房重建

    传送门 线段树 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include< ...

  8. BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)

    BZOJ LOJ 洛谷 \(d_i\)不同就不用说了,建出树来\(DFS\)一遍. 对于\(d_i\)不同的情况: Solution 1: xxy tql! 考虑如何把这些数依次填到树里. 首先对于已 ...

  9. bzoj 4871: [Shoi2017]摧毁“树状图”

    4871: [Shoi2017]摧毁"树状图" Time Limit: 25 Sec  Memory Limit: 512 MB Submit: 53  Solved: 9 [Su ...

最新文章

  1. MyEclipse10整合Axis2插件
  2. AcWing算法基础课 Level-2 第二讲 数据结构
  3. Boost:bind绑定boost::apply的测试程序
  4. L2-005 集合相似度 (25分)
  5. LeetCode 962. 最大宽度坡(单调栈)
  6. 主板刷安卓 联发科_魅蓝2—来自2015年的青年良品,在2020刷个安卓9.0,起死回生(附教程及资源)...
  7. 前端开源项目周报0103
  8. python分词、词频统计以及根据词频绘制词云
  9. 将多个Bip动作合成一个
  10. 两台计算机如何共享文档,两台电脑如何共享文件
  11. chrome是什么?
  12. 利用Yocto构建嵌入式Linux教程3_1--Yocto构建系统的配置文件
  13. 为什么误差采取平方和形式
  14. 标签体系下的用户画像建设小指南
  15. 闭式系统蒸汽管径推荐速度_蒸汽管道的设计选型
  16. Controlling GC pauses with the GarbageFirst Collector
  17. APP运营推广那点事
  18. linux怎么使用4g模块的网络,在ARM-linux上实现4G模块PPP拨号上网(示例代码)
  19. 关于printf与scanf的碎碎念
  20. 海康威视视频监控demo 源码+库文件

热门文章

  1. 电脑鼠标在右键时一直转圈不显示解决措施
  2. 阿里云的这群疯子 (共勉)
  3. unity上传头像_unity3d 上传本地PC图片
  4. officemix安装 0x80091007 哈希数值不正确
  5. 决策树ID3代码(Python)
  6. LT8522EX 是 Lontium 的矩阵开关芯片基于两路输入,输出 (VGA 和 HDMI)
  7. 小米手机如何关闭系统扩展服务器,小米手机如何关闭广告?MIUI12系统这样操作就够了...
  8. matlab文献资料,matlab文献资料查找方法及资源汇总
  9. kali系统破解WiFi密码(二)
  10. 低代码:正在改变软件的开发方式