AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

异或线性基

作者: 作者的头像   不知名的fE ,  2025-05-08 21:37:59 · 河北 ,  所有人可见 ,  阅读 4


0


insert

boolean insert(int x) {
    for (int i = m; i >= 0; i--) {//按位枚举
        if ((x >> i & 1) == 1) {//如果当前位为1
            if (a[i] == 0) {//这个位置没有被占用
                a[i] = x;//占用
                return true;
            }
            x ^= a[i];//维持梯形结构
        }
    }

    return false;//说明可以被表示出来
}

查询

返回x^y的最大值
int query(int x) {
    for (int i = m - 1; i >= 0; i--) {
        x = Math.max(x, x ^ a[i]);
    }

    return x;
}

1 评论


用户头像
Conan15   2025-05-10 18:21 · 福建         踩      回复

建议做点习题: https://www.acwing.com/blog/content/75966/


App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息