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

 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. git-fork下来的项目(拷贝到本地 根据原来的库更新)
  2. Python_sqlalchemy——创建、查询、删除、更新一对多的表
  3. Go进阶(8): map嵌套的两轮初始化
  4. 印度孟买机器人餐厅_宝莱坞机器人2.0:重生归来一起来看印度神片!
  5. java 继承 extends_java中的继承 (extends) 详解
  6. IDEA下查看Java字节码(插件ByteCode Viewer)
  7. 鸿蒙2秒开机官方,两款荣耀智慧屏发布:鸿蒙OS首秀2秒开机,安卓应用迁移不难...
  8. java比较三个数的编程_java编程题,输入3个数abc按大小顺序输出
  9. 【读书笔记】金字塔原理-构建金字塔的层级关系
  10. 火狐浏览器代理设置:
  11. Linux虚拟用户怎么建立,linux下ftp虚拟用户的创建方法
  12. 准确率、精确率、召回率、F1-score
  13. CPU个数、内核数、线程数
  14. [SDOI2012]拯救小云公主
  15. supervisor启动进程时报错“gave up: monitor entered FATAL state, too many start retries too quickly”
  16. 华为发布21年财报 孟晚舟出席
  17. java 1.7 找不到 javaxmail_无法找到Org.springframework.mail.javamail.JavaMailSender类型的Bean?...
  18. Android图表库hellocharts详解
  19. OpenCV-Python相机标定
  20. 对计算机硬件的认识的论文,正确认识计算机硬件的安全维护措施有哪些

热门文章

  1. 称重仪表modbus协议
  2. 台式电脑电源选择不当,电压虚标运行不稳定,从根源解决问题
  3. C#麦克风录音组件与播放源码
  4. 眼科常用药物及其副作用
  5. 程序员的焦虑-职业(中年)危机
  6. 智慧农业10大发展趋势(转载)
  7. Android手机遥控器解决方案
  8. Apple News+杂志阵容概览
  9. PHPexcel导出_Thinkphp_暂无效果图(单行导出)
  10. 看懂2019世界人工智能大会,“预见”未来