zoukankan      html  css  js  c++  java
  • 线性基(模板)

    这里是连接o(´^`)o

    线性基性质:

    1.原序列里面的任意一个数都可以由线性基里面的一些数异或得到。
    2.线性基里面的任意一些数异或起来都不能得到0 0
    3.线性基里面的数的个数唯一,并且在保持性质一的前提下,数的个数是最少的

    //#include<bits/stdc++.h>
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<cstring>
    #include<queue>
    #include<set>
    #include<map>
    #include<vector>
    
    #define mem(a,b) memset(a,b,sizeof(a))
    #define ll long long
    #define sl(x) scanf("%lld",&(x))
    #define rep(i,a,b) for(int i=a;i<=b;i++)
    
    using namespace std;
    
    int p[105];
    
    void Insert(int now)
    {
        per(i,62,0)
        {
            if((now&((ll)1<<i)))
            {
                if(!p[i])
                {
                    p[i]=now;
                    break;
                }
                now^=p[i];
            }
        }
    }
    
    #undef int
    int main()
    {
    #define int long long
        int n;
        sl(n);
        rep(i,1,n)
        {
            int now;
            sl(now);
            Insert(now);
        }
        int ans=0;
        per(i,62,0)
            if((ans^p[i])>ans) ans^=p[i];
        cout<<ans<<"
    ";
    
        return 0;
    }
  • 相关阅读:
    top-adx-apps
    mac 打印机无法打印
    doubleclick-video-skipable
    微信小程序-基础学习
    uniapp-学习总结1
    react-1
    mysql-1
    jenkins-1
    后台管理系统-1
    微信小程序-父子组件通信
  • 原文地址:https://www.cnblogs.com/minun/p/11329469.html
Copyright © 2011-2022 走看看