zoukankan      html  css  js  c++  java
  • Xor Sum HDU

    #include <iostream>
    #include <cstdio>
    #include <sstream>
    #include <cstring>
    #include <map>
    #include <set>
    #include <vector>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #define rap(i, a, n) for(int i=a; i<=n; i++)
    #define rep(i, a, n) for(int i=a; i<n; i++)
    #define lap(i, a, n) for(int i=n; i>=a; i--)
    #define lep(i, a, n) for(int i=n; i>a; i--)
    #define MOD 2018
    #define LL long long
    #define ULL unsigned long long
    #define Pair pair<int, int>
    #define mem(a, b) memset(a, b, sizeof(a))
    #define _  ios_base::sync_with_stdio(0),cin.tie(0)
    //freopen("1.txt", "r", stdin);
    using namespace std;
    const int maxn = 100000 + 5, INF = 0x7fffffff;
    LL trie[32 * maxn][2], value[32 * maxn];
    int rt, tot;
    
    void build(LL s)
    {
        rt = 0;
        for(int i=32; i>=0; i--)
        {
            int x = (s >> i) & 1; //  取每一位
            if(trie[rt][x] == 0)
            {
                trie[rt][x] = ++tot;
            }
            rt = trie[rt][x];
        }
        value[rt] = s;      //最后的结点记录s
    }
    
    LL qp(LL s)
    {
        rt = 0;
        for(int i=32; i>=0; i--)
        {
            int x = (s >> i) & 1;
            if(trie[rt][x^1]) rt = trie[rt][x^1];
            else rt = trie[rt][x];
        }
        return value[rt];
    }
    
    void init()
    {
        tot = 0;
        mem(trie, 0);
        mem(value, 0);
    }
    
    
    int main()
    {
        int T, kase = 0;
        scanf("%d", &T);
        while(T--)
        {
            init();
            int n, m;
            scanf("%d%d", &n, &m);
            rap(i, 1, n)
            {
                LL temp;
                scanf("%lld", &temp);
                build(temp);
            }
            printf("Case #%d:
    ", ++kase);
            rap(i, 1, m)
            {
                LL temp;
                scanf("%lld", &temp);
                printf("%lld
    ", qp(temp));
            }
    
    
        }
        return 0;
    
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    vue框架的vue-router路由的运用
    如何用vue的computed的set和get方法
    如何学习vue的计算属性computed
    从下往上显示的弹出框动画
    vue父传子的使用
    vue局部组件如何使用
    Data 日期-项目(Thread)
    Jframe-项目
    Thread 线程
    Thread知识 (火车票到结束-项目)
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9457564.html
Copyright © 2011-2022 走看看