リニアイル交差点

リニアの両方のために、すなわちスペース\(V_1、V_2 \) そのクロスを見つける\(V_1 \キャップV_2 \を)

まず、2本のクロス線状または線形空間は明らかにスペースです

補題:場合\(V_1、V_2 \)は、線形空間である\(B_1、B_2 \)は、そのベースに設定され、その結果、\(= WがB_2 \ CAP V_1 \である)、場合\(B_1 \カップ(B2 \ setminus W)\)線形独立、その後\(Wは\)である\(V_1 \キャップV_2が\)ベースのセットの。

証明:任意検討\(V_1 \ CAP V_2 \におけるV \)を、そう\(V \)を同時にすることができる\(B_1 \)\(B_2 \)が示されています。証明する方法を考えてみましょう\を(V \)かもしれ\(W \)線形表現。私たちは、その後でないと仮定\(V \)をする必要があります\(S \)\(T \)共直線、\(WでS \、T \ B_2 \でW \ setminus) および\( T \)が空ではありません。したがって、この時間\(T \)必ずしも\(B_1 \)私たちの仮定と矛盾関連する線形、。したがって、上記の仮定が有効です

しかし、\(B_1 \カップ(B_2 \ setminus W)\) の可能な線形相関が、その後、私たちは可能ベースのセットを変更したいです。

現在の要素として追加した場合\(X \) 場合\(Xが\)することができない\(B_1 \カップB'_2は\)を直接表す(B_2「\)\添加した\(X \)に;そうでなければ\(X \)しなければならない(B_1 \カップ(B_2 '\ \ setminus W)\) 前記セットのうちの正確に1つのサブセット\(X = \テキスト{XOR (S)\ ^ XOR(T)} \) ここで\(S \のsubseteq B_1、T \ subseteq B_2 '\ Wはsetminusある\)\(B_2' \)に添加した(\ \テキスト{XOR(S )} \) に、このときの\ (W \でS \)\(W \)にも参加し\(S \)をします

全体的な複雑性\(O(D ^ 2)\) \(D \)の寸法であります

#define int unsigned int
Base merge(Base a,Base b){
    Base na(a),tmp(a),gl;
    int cur,d;
    fp(i,0,31)if(b[i]){
        cur=0,d=b[i];
        fd(j,i,0)if(d>>j&1){
            if(tmp[j]){
                d^=tmp[j],cur^=na[j];
                if(d)continue;
                gl[i]=cur;
            }else tmp[j]=d,na[j]=cur;
            break;
        }
    }
    return gl;
}

おすすめ

転載: www.cnblogs.com/yuanquming/p/11260668.html