【NOIPシミュレーション試験]:ビッグ(トライ木貪欲+)

タイトル説明

あなたは)$の整数が、その後$ X $ $ M $ XOR順次整数$ A_1〜A_M $、$ xに$を選択$ [0,2 ^ n個を必要としています。
あなたは$ X $を選択した後、あなたの対戦相手は一瞬(数だけ、または異なる数または最後の数の選択が完了し)、$ xに$は$(\左の\ lfloor {\となり選択する必要があります FRACを{ 2 \倍のx}、{2 ^右\ rfloor \モッズ2 ^ n個\は、n}})$ あなたの対戦相手は、可能な限り小さく最終の$ X $を行いますながら、できるだけ最後に同じ大きさの$ X $を作りたいです。
あなたは最大の$ X $の最後を見つけ、初期値の最大量を取得する必要があります。


入力形式

二つの整数$ N、M $の最初の行。
第2の行の整数$ M $ $ A_1〜A_M $。


出力フォーマット

第一出力線最後の$ X $の最大値を表す整数。
第二の出力線最大値を与える初期値の数を表す整数。
最初の番号が正しい$ 6 $点を得るために、二つの数字は、次に$ 4 $ポイントを得る正しいです。


サンプル

サンプル入力

2 3
1 2 3

サンプル出力

1
2


データ範囲とヒント

サンプルは説明しました:

1 $、$ x = 2の$ GET $ 1 $、$ X = 0 $ $ $ 3を得たときの取得$ x = 0 $ $ 0 $、$ X = $ 1 $。

データ範囲:

$ 20%$、$ nの\ leqslant 10 $、のデータのために $ M \ leqslant 100 $。
$ 40%$、$ nの\ leqslant 10 $、のデータのために $ 1,000 leqslant $ M \。
$ $データの別の20%は、$ N \ leqslant 30 $のための $ M \ leqslant 10 $。
$ 100%$、$ nの\ leqslant 30 $、のデータのために $ 100,000、$ 0 \ leqslant a_iを<2 ^ n個の$ leqslant $ M \。


問題の解決策

$(右\ rfloor \ MOD 2 ^ N \ \ \を左lfloor {\ FRAC {2 \倍X} {2 ^ N}})$:上式魔法そのことに留意されたいです。

無知なだけ見て、詳しく見たり見て見て無知...... ......

実際には、それほど難しいことではない、この質問は、$ X $は$ xに$は、最後の最大値までビットを残していること、実際には、論理左シフトしています。

その後、我々は戻ってくる式について:

  最初の集合$ Q [i]は$ $排他的またはプレフィックス、および$アレイです。

  那么:$ ANS =((X \ XOR \ a_iを)\ LL 1)XOR(a_iを\ XOR \ A_M)$。

  展开:$ ANS =(X \ LL 1)XOR(a_iを\ LL 1)XOR \ a_iを\ XOR \ A_M $。

おすすめ

転載: www.cnblogs.com/wzc521/p/11288658.html