题意已经很明显了,但是我首先是用暴力方法先把数字离散,再用离散后的值当下标来存这个数字出现了几次

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<map>
 6 using namespace std;
 7 const int maxn=10000000;
 8 map<int,int>r;
 9 int main()
10 {
11     //printf("%d\n",0^1^2^3);
12     int n,sum,a;
13     sum=0;
14     scanf("%d",&n);
15     for(int i=1;i<=n;++i)
16     {
17         scanf("%d",&a);
18         r[a]++;
19         //printf("%d\n",r[a]);
20         if(r[a]%2)
21             sum^=a;
22         else if((r[a]-1)!=0)
23             sum^=a;
24     }
25     printf("%d\n",sum);
26     return 0;
27 }

View Code

但是却内存超限

然后我又对所有数字排序,这样就不用存起来,因为排完序后,一样的数字在一起

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<map>
 6 using namespace std;
 7 typedef long long ll;
 8 const int maxn=10000005;
 9 int v[maxn];
10 int main()
11 {
12     int n,sum=0;
13     scanf("%d",&n);
14     for(int i=1; i<=n; ++i)
15     {
16         scanf("%d",&v[i]);
17     }
18     //sort(v+1,v+1+n);
19     int ci=0;
20     v[0]=0;
21     for(int i=1; i<=n; ++i)
22     {
23         if(v[i]!=v[i-1])
24         {
25             if(ci!=0 && ci%2)
26                 sum^=v[i-1];
27             ci=1;
28         }
29         else ci++;
30     }
31     //printf("%d\n",ci);
32     if(ci!=0 && ci%2)
33         sum^=v[n];
34     printf("%d\n",sum);
35     return 0;
36 }

View Code

但是又内存超限

我又把sort排序去掉,试着试了一把结果还过了(一脸懵!)

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<map>
 6 using namespace std;
 7 typedef long long ll;
 8 const int maxn=10000005;
 9 int main()
10 {
11     int n,sum=0,a1,a2,b;
12     scanf("%d",&n);
13     scanf("%d",&a1);
14     b=1;
15     for(int i=2; i<=n; ++i)
16     {
17         scanf("%d",&a2);
18         if(a1==a2) ++b;
19         else
20         {
21             if(b!=0 && b%2) sum^=a1;
22             b=1;
23             a1=a2;
24         }
25     }
26     if(b!=0 && b%2) sum^=a1;
27     printf("%d\n",sum);
28     return 0;
29 }

View Code

比赛完之后,听他们说这一道题只需要把全部输入的数据都异或一遍就可以了,因为如果某个数字出现偶数次,那么也会异或偶数次,我们知道一个数字异或偶数次相当于没有异或。那么正好符合题意!

这个代码就不给了

这个时候我就在想了,为什么我那个不加sort就可以过,也是同样的原理

像这样的数据1 2 3 3 2 4 6 4

我的代码没有异或3,但是异或了2,但是却异或了两遍2.所以还是相当于没有异或

转载于:https://www.cnblogs.com/kongbursi-2292702937/p/11518877.html

牛客小白月赛17 A 小sun的假期相关推荐

  1. 牛客小白月赛17 F小黄鸭(计算几何+积分+二分)

    链接:https://ac.nowcoder.com/acm/contest/1085/F 来源:牛客网 题目描述 小sun的寝室有一只小黄鸭,小黄鸭浮在水面上的样子特别可爱,现在小sun有一个问题: ...

  2. 牛客小白月赛17 F小黄鸭(计算几何+积分+二分)

    题目链接:https://ac.nowcoder.com/acm/contest/1085/F 题解: 根据,,可得① 球的正视图是个圆心为(0,r),半径为r的圆,方程为② 侵入水中的体积: 体积公 ...

  3. 牛客小白月赛2 B.小马过河

    牛客小白月赛2 B.小马过河 题目链接 题目描述 E t e ˊ r e o \mathrm{Et\acute{e}reo} Eteˊreo 开始涉猎几何领域了.他现在正在研究小马喝水问题. 众所周知 ...

  4. 牛客小白月赛16——D 小阳买水果

    链接:https://ac.nowcoder.com/acm/contest/949/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  5. 牛客小白月赛16 小石的签到题(博弈)

    牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...

  6. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)

    牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...

  7. 牛客小白月赛65个人题解A-E

    1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...

  8. 牛客小白月赛60(A~C)题解

    原题地址:牛客小白月赛60_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 题目A:小竹与妈妈 题意:输出(x-b)/a即可,没什么好说 代码: #include< ...

  9. 牛客小白月赛27 B.乐团派对

    牛客小白月赛27 B.乐团派对 题目链接 题目描述 音乐是带给大家快乐的存在,而你的目标就是组建若干支乐队,让世界听到你们的演奏! 你目前有 nnn 位乐手,每位乐手只能进入一个乐队,但并不是每位乐手 ...

最新文章

  1. 1小时学会:最简单的iOS直播推流(十)librtmp使用介绍
  2. 机器人如何懂得人类感情
  3. 如何实现每个周期4个FLOP的理论最大值?
  4. 前端信息查询与显示_中国商标网查询显示的信息都是正确的吗
  5. 顶级数据库行会Percona阿里全面解析下一代云数据库技术
  6. 2.5w字长文爆肝 C++动态内存与智能指针一篇搞懂!太顶了!!!
  7. 用python实现时间的动态(动态时钟)+ 算出某年某月星期几的所有日期
  8. opencv for java HoughLinesP的使用
  9. log4j中将SocketAppender将日志内容发送到远程服务器
  10. 【论文笔记】Deep Neural Networks for Object Detection
  11. Hadoop大数据测试:Hadoop大数据平台测试流程
  12. rapidminer java_RapidMiner在Java应用程序中的集成
  13. 零基础手把手用solidworks教你画联轴器
  14. 手机linux发短信的命令,在Linux中使用飞信发送手机短信
  15. OSPF高级特性 —— 路由聚合(汇总)
  16. TypeError: Object of type xxx is not JSON serializable错误解决
  17. 开源中国众包平台 —— 为什么我们需要托管赏金
  18. 灵隐寺高僧汇报 “数字化寺院” 方案,走红网络! “系统可用性” 随缘、KPI 随心?...
  19. macmini时间机器备份文件服务器,用普通NAS代替苹果Time Machine 功能实现MAC的时间机器...
  20. ajax实时获取股票信息,Ajax学习笔记03-模拟动态显示股票信息动态变化的小例子...

热门文章

  1. js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
  2. 配置dns问题server can‘t find .com: SERVFAIL
  3. 健康的身体才是一切根源,记太极拳第一式
  4. Linux 识别USB网卡后 使用ifconfig命令未出现eth0
  5. Unity ECS小知识1 - PhysicsTrigger Event
  6. 办公创意简历模板-Word简历可编辑下载
  7. 乐活 一个互联网企业的人生态度
  8. Python僵尸进程
  9. 分享30个有趣的 Python小游戏,我能玩一天
  10. python的dataframe的mul_python pandas DataFrame.mul用法及代码示例