博客
关于我
AcWing 143. 最大异或对
阅读量:346 次
发布时间:2019-03-04

本文共 2122 字,大约阅读时间需要 7 分钟。

????????????????????????????????????????????????????????????????????????????????

????

????????????Trie????????????Trie?????????????????????????1????????????????????????????????Trie??????????????????

???????

  • ???Trie???
  • ???????????Trie????????????????????
  • ??????????Trie??????????????????????????????
  • ???????????
  • ????

    import java.io.*;
    import java.lang.Integer;
    class Main {
    static int N = 3000010; // ??N???1000000
    static int[][] t = new int[N][2];
    static int idx = 0;
    static void insert(int num) {
    int p = 0;
    for (int x = 30; x >= 0; --x) {
    int c = (num >> x) & 1;
    if (t[p][c] == 0) {
    t[p][c] = ++idx;
    }
    p = t[p][c];
    }
    }
    static int compare(int num) {
    int p = 0;
    int max = 0;
    for (int x = 30; x >= 0; --x) {
    int c = (num >> x) & 1;
    if (t[p][1 - c] == 0) {
    max = (max << 1) | 1;
    p = t[p][c];
    } else {
    max = (max << 1) | 0;
    p = t[p][c];
    }
    }
    return max;
    }
    public static void main(String[] args) throws Exception {
    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter buw = new BufferedWriter(new OutputStreamWriter(System.out));
    int n = Integer.valueOf(buf.readLine());
    String[] params = buf.readLine().split(" ");
    for (int i = 0; i < n; ++i) {
    int num = Integer.valueOf(params[i]);
    insert(num);
    }
    int max = 0;
    for (int i = 0; i < n; ++i) {
    int num = Integer.valueOf(params[i]);
    int m = compare(num);
    if (m > max) {
    max = m;
    }
    }
    buw.write(max + "");
    buw.flush();
    buf.close();
    buw.close();
    }
    }

    ????

  • Trie???????????t???Trie??????????????????????0?1?
  • ????insert?????????Trie?????????????????????????????
  • ????compare???????Trie?????????????????????
  • ???main????????????Trie??????????????????
  • ????????????O(N)??????????????????

    转载地址:http://rkre.baihongyu.com/

    你可能感兴趣的文章