zoukankan      html  css  js  c++  java
  • 题解 CF1421A 【XORwice】

    题意

    给定数字 (a), (b),求((aigoplus x) + (b igoplus x))的最小值,其中x为任意整数

    思路

    (a),(b)进行二进制分解,考虑 (a),(b) 的每一位,若都为0,则(x)这一位为0时最佳;若一个为0,另一个为1,则(x)这一位为1或0对答案都没有影响;若都为1,则(x)这一位为1最佳

    发现什么没有,我们这样的话实际上就是让(aigoplus b)了,也即(min(aigoplus x + b igoplus x)= aigoplus b)

    于是问题就这样解决了

    题外话

    这是我打的第一场 cf 呢,虽然是div2,充分感受到 cf 偏向思维的风格,总之挺妙的

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int T,a,b;
    
    
    int main(){
    	scanf("%d",&T);
    	for(int i=1;i<=T;i++){
    		scanf("%d%d",&a,&b);
    		printf("%d
    ",a^b);
    	}
    	return 0;
    }
    
  • 相关阅读:
    JZOJ.2117. 【2016-12-30普及组模拟】台风
    团队合作
    长沙游记
    统计
    html....
    OI之路
    三鑫普及组模拟赛
    牛顿迭代法
    台风
    gcd
  • 原文地址:https://www.cnblogs.com/fpjo/p/13912046.html
Copyright © 2011-2022 走看看