码迷,mamicode.com
首页 > 其他好文 > 详细

2019.7.24 校内测试 分析+题解

时间:2019-07-24 13:27:55      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:mic   数据   http   mes   src   想法   tps   ima   空间   

T1 地雷

技术图片

技术图片

 

题目很简单呢,就是求哪个数只出现了一次就可以了哦~

我一开始的想法是桶排(这也是最单纯最简单的想法吧~),但是空间开 232 肯定会炸的,而且时间好像也会炸掉。

然后左边的 ych 大佬小声说了一句:“得换个算法。”

嗯,确实要换个算法,然后我就觉得新算法一定是不用开数组,直接输完数据就能出答案的那种!

然后不知道怎么就想到了 zhx 讲博弈论的时候输入的同时将 ……(一些稀奇古怪的东西) 异或起来就是答案,这不正好跟我理想的新算法很像嘛?

异或异或?咦,又想到了六月底那次考试有个叫【音乐会】达拉崩吧 · 上 的毒瘤题,上面给的两条提示:

技术图片

对呀,两个相同的数异或起来就是 0!

所以我们可以将所有的数都异或起来,只要有两个相同的就变成 0 了,那么最后剩下的不就是那个落单的了嘛?

所以代码就出来了鸭~:

#include<iostream>
#include<cstdio>
using namespace std;
int read()
{
    char ch=getchar();
    int a=0,x=1;
    while(ch<0||ch>9)
    {
        if(ch==-) x=-x;
        ch=getchar();
    }
    while(ch>=0&&ch<=9)
    {
        a=(a<<1)+(a<<3)+(ch-0);
        ch=getchar();
    }
    return a*x;
}
int n,x,ans;
int main()
{
    n=read();
    for(int i=1;i<=n;i++)
    {
        x=read();
        ans^=x;                //求每个数的异或和 
    }
    printf("%d",ans);
    return 0;
}

 

2019.7.24 校内测试 分析+题解

标签:mic   数据   http   mes   src   想法   tps   ima   空间   

原文地址:https://www.cnblogs.com/xcg123/p/11237083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!