#3687. 简单题

内存限制:512 MiB时间限制:10 Sec

提交提交记录讨论

题目描述

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

输入格式

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

输出格式

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

样例

样例输入

2
1 3

样例输出

6

数据范围与提示

【样例解释】

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

【数据规模与约定】

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

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

题解:

自己异或两次的话就没有了。。。。。

异或背包 , bitset优化一下;

复杂度:  $O(\frac{n \sum a_{i} } {64} $

反正bitset的复杂度比较玄学吧。。。。。。。。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<queue>
 6 #include<cmath>
 7 #include<vector>
 8 #include<stack>
 9 #include<map>
10 #include<set>
11 #include<bitset>
12 #define Run(i,l,r) for(int i=l;i<=r;i++)
13 #define Don(i,l,r) for(int i=l;i>=r;i--)
14 #define ll long long
15 #define ld long double
16 #define inf 0x3f3f3f3f
17 using namespace std;
18 int n;
19 bitset<2000100>f;
20 int main(){
21     freopen("in.in","r",stdin);
22     freopen("out.out","w",stdout);
23     scanf("%d",&n);
24     int x , sum=0;
25     //f.reset();
26     f[0]=1;
27     Run(i,1,n){
28         scanf("%d",&x);
29         f^=f<<x;
30         sum += x;
31     }
32     int ans=0;
33     Run(i,1,sum){
34         if(f[i])ans^=i;
35     }
36     cout<<ans<<endl;
37     return 0;
38 }//by tkys_Austin;

View Code

转载于:https://www.cnblogs.com/Paul-Guderian/p/9901960.html

【bzoj3687】简单题相关推荐

  1. bzoj3687简单题*

    bzoj3687简单题 题意: 给个集合,求所有子集的元素和的异或和.集合元素个数≤1000,整个集合的元素和≤2000000 题解: 用bitset维护每个子集元素和的个数是奇数还是偶数.每次读入一 ...

  2. 【bitset乱搞】BZOJ3687 简单题

    题面在这里 最喜欢这种乱搞题了 因为异或两次就等于没有异或 所以只需要记录不同算术和的奇偶即可 用一个bitset存 假设已经统计好了前面一部分算术和,新加一个x 那么每个数加x或不加,新的bitse ...

  3. 算法复习——bitset(bzoj3687简单题)

    题目: Description 小呆开始研究集合论了,他提出了关于一个数集四个问题: 1.子集的异或和的算术和. 2.子集的异或和的异或和. 3.子集的算术和的算术和. 4.子集的算术和的异或和.   ...

  4. Bzoj3687简单题(bitset)

    题意 给定一个含nnn(n<1000n<1000n<1000)个正整数(Σa\Sigma{a}Σa≤2e6≤2e6≤2e6)的集合,求其子集和的异或和. 思路 枚举子集显然是会超时的 ...

  5. HDU 排名(简单题)

    好久没在oj上做题了,刚开始第二天做一道简单题的心得记录. 1 #include <cstdio> 2 #include <cstring> 3 #include <st ...

  6. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 一周连考三门,人都没了 Weblink 2021年天梯赛 L3-3 可怜的简单题 CF1139D Pr ...

  7. 【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题

    Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取 ...

  8. 小M的简单题(easy)

    小M的简单题(easy) 时间限制:3s 内存限制:128MB [题目描述] 小M是某知名高中的学生,有一天,他请他的n个同学吃苹果,同学们排成一行,且手中已经有一些苹果.为了表示他的大方,有时他会给 ...

  9. Loj 【CQOI 2006】简单题,mmp

    #10117. 「一本通 4.1 练习 2」简单题   题目描述 题目来源:CQOI 2006 有一个 nnn 个元素的数组,每个元素初始均为 000.有 mmm 条指令,要么让其中一段连续序列数字反 ...

最新文章

  1. 【C++】【九】栈的应用
  2. 诺基亚主导Windows Phone手机市场 前景仍然堪忧
  3. Android-Spinner下拉列表Demo
  4. 从RocketMQ看长轮询(Long Polling)
  5. 成功解决利用pandas输出DataFrame格式数据表时没有最左边的索引编号(我去,这个问题折腾了我半个多小时)
  6. 解决为什么导入了tomcat进入myeclipse却在server中找不到
  7. 机器学习入门笔记(五):决策树
  8. hibernate 框架学习笔记
  9. golang之strings
  10. 仿微信实现拍摄视频,实现点击无声,自动录制
  11. 计算机技术在图形图像处理中的应用,计算机图形图像处理技术综述
  12. 光电式液位传感器和电容式液位传感器的区别
  13. 手把手教你用小米手机OTG功能连接打印机
  14. 介绍一个开源博客项目并部署到Nginx服务器
  15. 11091 最优自然数分解问题
  16. win11本地用户和组找不到的解决办法
  17. 转:信号量semphore
  18. 中医药大学远程教育计算机,北京中医药大学远程教育计算机基础(2008版) 第6次...
  19. clap与slap_clap什么意思(slap与clap的区别)
  20. PaddleOCR的表格结构识别演示

热门文章

  1. 如何使用智能手机控制PlayStation 4
  2. 无盘系统对服务器的要求,无盘服务器配置要求高?两千的主机就能带100台客户机你信吗?-服务器设置...
  3. python debugger extension_Pykd——Python extension for WinDbg
  4. Java类加载流程趣谈
  5. matlab iri模型,IRI2012电离层模型 matlab代码
  6. 不能初始化数据库支持endnote_EndNote正确恢复数据库方法 | 科研动力
  7. Linux从入门到精通的总结
  8. 计算机二级office的考试内容,计算机二级office考试内容有啥
  9. VB.NET绘图8---总结
  10. 即时聊天工具二次开发