zoukankan      html  css  js  c++  java
  • Codeforces 1323 D. Present (思维)

     题解:

     若答案中的第i位为1,有奇数对j,k使得(a[j]+a[k])的i位为1。a[j]第i+1位及以上对第i位无影响,所以保留前i位为b[j],b[j]+b[k]在[2^i,2^(i+1)-1]U[2^(i+2)-1,2^(i+1)+2^i]均符合,排序b,枚举j,二分查找

    [2^i,2^(i+1)-1-b[j]]U[2^(i+2)-1,2^(i+1)+2^i-b[j]]的个数,若b[j]+b[j]第i位为1,减去1,因为个数前后计算两次,所以个数除以2才是对数。

    代码:

    #include<bits/stdc++.h>
    #define endl '
    '
    using namespace std;
    typedef long long ll;
    typedef double db;
    typedef pair<int,int> pii;
    typedef vector<int> vi;
    #define check system("pause")
    #define all(x) (x).begin(),(x).end()
    #define de(a) cout<<#a<<" = "<<a<<endl
    #define dd(a) cout<<#a<<" = "<<a<<" "
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    #define lowbit(a) ((a)&-(a))
    #define INF 0x3f3f3f3f
    const ll mod = 1e9+7;
    const int N = 4e5+20;
    #define dep(i,a,b) for(int i=(a);i>=(b);i--)
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define mes(p,b) memset(p,b,sizeof(p))
    #define sz(x) int(x.size())
    ll a[N],n,ans=0,b[N];
    int main()
    {
          ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
        cin>>n;
        rep(i,1,n) cin>>a[i];
        rep(i,0,31){
            rep(j,1,n) b[j]=a[j]%(1<<(i+1));
            sort(b+1,b+1+n);
            int t=0;
            rep(j,1,n){
                t+=upper_bound(b+1,b+1+n,(1ll<<(i+1))-1-b[j])-lower_bound(b+1,b+1+n,(1ll<<i)-b[j]);
                t+=upper_bound(b+1,b+1+n,(1ll<<(i+2))-1-b[j])-lower_bound(b+1,b+1+n,(1ll<<i)+(1ll<<(i+1))-b[j]);
                //de(t);
                if((2*b[j])&(1<<i)) t--;
                
            }
            if((t/2)&1) ans+=(1<<i);
        }
        cout<<ans;
          return 0;
    }
  • 相关阅读:
    C#基础知识整理(一)c#语言基础—数据运算
    Socket 基于完整CS样式例子(转载)
    LVS NAT模式实战案例
    LVS DR模式实战案例
    Kubernetes 概述及Kubernetes各个组件概述
    k8s 基于kubeasz(ansible) 搭建高可用集群 kubernetes v1.22.2
    Linux LVS 介绍
    Python 读写字节数据(转)
    帮你克服web字体选择焦虑症
    python 深拷贝 浅拷贝
  • 原文地址:https://www.cnblogs.com/FZUlh/p/12527330.html
Copyright © 2011-2022 走看看