首页 > 其他分享 >一篇关于异或操作的题解 (来源:杭电oj: find your present (2))

一篇关于异或操作的题解 (来源:杭电oj: find your present (2))

时间:2023-04-01 23:45:22浏览次数:38  
标签:int 题解 scanf find 杭电 异或 include your

害 惭愧惭愧 老长时间没写代码了——————————

转回正题 ,对于杭电这个题 先说我超时的错误想法

——————————————————————————————————————————————————————————————

 

一开始我的想法是开一个大小为1000000的数组。然后每当输入一个数字 m 时,我会让a[m]++;并且处理完一串数字时,需要将数组a在初始化为零。

嘶~~~  其实想想感觉这样写就很复杂。果然最后也没过。

——————————————————————————————————————————————————————————————

接下来说正解(看了某大佬的做法)

对了,要先知道一个数字他异或两次别的数,其值本身不变。(比如 a = 2; b = 3; c = 4; a = a^b^c^b^c; 结果a还是2)

知道了这个咱们就能写代码了。代码如下:

#include<iostream>
#include<cstring>
using namespace std;
//using namespace std;
#define N 1000000
int a[N];
int main()
{
    int n;
    int m;
    int p;
    while(scanf("%d",&n) != EOF,n)
    {
        scanf("%d",&m);
        for(int i = 0;i < n-1;i++){
            scanf("%d",&p);
            m = m^p;
        }
        printf("%d\n",m);
    }
    return 0;
}

然后还要再啰嗦一句 ,输入和输出不能用(cin和cout)不然会超时。

 最后这道题就结束了~~~~ 

加油呀 小灰灰!!!!!!!!!!!!!!!!!!!!

标签:int,题解,scanf,find,杭电,异或,include,your
From: https://www.cnblogs.com/fighting-huihui/p/17279705.html

相关文章

  • [省选联考 2023]D1 题解
    D1T1P9166火车站观察题目,联系到以前做过的一些区间dp可以发现如果小A可以去到(这里是去到而不是最终停在)\(k\)地点,那么\(x\)到\(k\)之间的所有地点他都可以去到,因为火车是连续的,不能跳着走,要来到当前地点必须到过路途中的所有节点。这样子就好办了,分两次处理往左边和......
  • P6146 [USACO20FEB]Help Yourself G 题解
    题目链接先按左端点从小到大排序。设\(f(i)\)表示前\(i\)条线段的所有子集的复杂度之和。考虑从\(f(i-1)\)转移到\(f(i)\),即考虑新加进来第\(i\)条线段的过程。第\(i\)条线段加进来所新产生的贡献分两种:设除了第\(i\)条线段选中的线段集合为\(S\),则若\(S\)......
  • # P4391 [BOI2009]Radio Transmission 无线传输 题解
    [BOI2009]RadioTransmission无线传输题目描述给你一个字符串\(s_1\),它是由某个字符串\(s_2\)不断自我连接形成的(保证至少重复\(2\)次)。但是字符串\(s_2\)是不确定的,现在只想知道它的最短长度是多少。输入格式第一行一个整数\(L\),表示给出字符串的长度。第二行给出......
  • 4.1 模拟赛题解
    A一模一样讲过B先做一遍前缀和将区间和转成两数之差的形式。cdq分治,递归时排好序。按顺序枚举左端点,合法的右端点区间单调移动。CIDA*,容易发现每次翻转并不会打乱中间的铁盘,只会改变下边界的相邻关系。最终顺序相邻两个铁盘大小相差均为\(1\),所以估价函数设为已操作次数......
  • 使用 IntelliJ IDEA 构建 Spring Framework 5.3.21 源码问题解决
    源码版本1、下载地址:https://github.com/spring-projects/spring-framework/tags2、选择要构建的源码版本并下载,例如:5.3.21相关环境1、操作系统:Windows102、JDK版本:Jdk173、IDE工具:IntelliJIDEA2021.3.34、项目构建工具:Gradle7.3.3使用IntelliJIDEA构建Spring......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(CF1810)A~D题题解
    今天采用的是新格式。CF1810ABeautifulSequence点击查看原题点击查看思路如果一个数字的值\(v\),不大于当前的位置\(p\),那我们可以通过删除\(p-v\)个数字,使它们两个对应上。比如\([1,7,2,5,3]\)中的\(3\),其数值为\(3\),位置为\(5\),数值\(3\)小于等于\(......
  • CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!) A-D题解
    题目地址A-BeautifulSequence题意:给出一个数组,问是否存在任意一个子区间,存在i,使得ai=iSolution直接比较当前的数和i的大小就行了,当前为x,如果要求答案存在,必须有i>=xvoidsolve(){ intn;cin>>n; intflag=0; for(inti=1;i<=n;i++) { intx;cin>>x; if(i>=x) {......
  • Thinkpad T14升级Windows11ver22h2失败问题解决小记
    背景手头的ThinkPad在近一年的时间里每次升级Windows11的22h2版本每次都会报错,具体有以下几种情况:更新过程中无问题,重启后黑屏更新过程中会卡在26%左右,然后蓝屏报KENERAL_CHECK_FAIL,接着便自动重启进入修复程序在WindowsUpdate更新中报错0xC1900101在上述错误出现后,再次更......
  • 使用 wine 安装微信遇到的问题解决方法
    1.中文显示成方块添加启动环境变量:LANG=zh_CN.UTF-82.输入框不显示文字安装winetrickssudoaptinstallwinetricks#oryay-Sywinetricks然后安装riched20winetricksriched20......
  • How to find the "usbmodem" of Raspberry Pi Pico on macOS All In One
    Howtofindthe"usbmodem"ofRaspberryPiPicoonmacOSAllInOneerrors/dev/tty.usbmodem0000000000001notexistbug❌#0000000000001❌$minicom-b115200-o-D/dev/tty.usbmodem0000000000001官方SDK文档❌bughttps://datasheets.raspberr......