本当にT。(おかしいです
最後の
35
|
Miemeng | 100
3時12分51秒
|
0
3時12分54秒
|
15
3時12分55秒
|
115
3時12分55秒
|
幸い、$ T1 $ 'は......他にも、あるいは北韓
序文
正午$は\ SCR ZZN $は、教えてくださいひざまずくしなければならない神の質問はダウン「×罰金秋×」のコード、または$ T1 $午後の下にされた駆動されます。
$ EMM \ドット$
ソースで長い時間を考える......午後及びません。
......
......私はそれが必要ではないと思います。
私は......人のようなものはないよスコアを持っていると私は今、ポイントを気にしません。とにかく、すべての下
プロセス
だから、未解決の問題。
神はそれの問題ではありません......
私は、彼らがT1を遮断し、それを見てください。
そして、後に、私はいくつかのミスをチェックします。
ポイントシュートを打ちます。
T2T3は暴力を投げます。
膝の後ろT2 TLE0
問題の解決策
それを書くようにしてください。
T1
これは、ビット・コンピューティングを行うことはありませんでもありましたか?5人の* 7学生は長い時間のために私に尋ねました。
単純なビット演算ピリダジン:
XORは、存在しないAND、OR。
そして、すべての1は1で、0
それとも、1 1、1 0なし
0と同じで異なるのXOR、
非(ここでネゲートされる)、1,1になる0 0(純粋なR-値式)となります
ここで$ Aの数は、B $は、二組として二組の要素として見なさ$ 1 $を見ました。
そして、多くのことを好き。
そう:
醜いです
だから、いくつかの方程式があります。
$$
(\、および\、B)XOR(\、排他的論理和\、B)\、または\、B \\ =
(\または\、B)XOR(\、および\、B)を= A \、排他的論理和\、B \\
(\または\、B)XOR(\、排他的論理和\、B)\を=、および\、B
$$
実際にはこれらの柿は、ちょうど0を宣告し、役立つ2つの瞬間的なプッシュを理解しています。
さんは$ \、および\ましょう、B $が集合$ \ mathcalのある{A} $
SAID $ A \、または\、B $が設定されている$ \ mathcal {S} $
$ A \、XORの\は、B $が$ \ mathcal {B} $に設定されている前記
だから我々は唯一の$ \ mathcal {S} $、明らかに直接カウント$ ^ 3 {サイズ_ {\ mathcal {S}}} $であることを知っていれば。
残りの症例は、INF $ $または$ 2 ^ {サイズ_ {\ mathcal {B}}} $を判断することができます
だから、コード:
書式#include <iostreamの> 書式#include <CStringの> 書式#include <cstdioを> #define LL長い長いです 名前空間stdを使用。 LL及びN、ORN、xorn。 LLのPPOW(LLのA、LL b)は{ LLのRES = 1。 一方、(B){ (B&1)リソース場合* =。 * =; B >> = 1。 } 解像度を返します。 } LL lowbit(LL X){ 返すのx&( - x)は、 } LL数(LL X){ 0 = N_1 LL。 一方、(X){ N_1 ++; X- = lowbit(X)。 } N_1戻ります } {int型のmain() int型T; // freopenは( "bits.in"、 "R"、STDIN); \ freopenは( "bits.out"、 "W"、STDOUT)。 CIN >> T; 一方、(T - ){ scanf関数( "%LLD%LLD%LLD"、&そしてn、&ORN、およびxorn)。 IF(そしてn == - 1 && xorn == - 1){ printf( "%LLDする\ n"、PPOW(図3に示すように、(カウントORN)))。 持続する; } IF(xorn == - 1 && ORN == - 1){ プット( "INF"); 持続する; } IF( - 1 &&そしてn == - ORN == 1){ プット( "INF"); 持続する; } もし(xorn == - 1) xorn = ORN ^そしてn; もし(ORN == - 1) ORN = xorn |とN; もし(そしてn == - 1) そしてn = ORN ^ xorn。 もし((xorn | ORN)= ORN ||(そしてn |!!!ORN)= ORN ||(xorn&そしてn)= 0){ プット( "0"); 持続する; } // coutの<<回数(ORN ^そしてn)<<てendl; printf( "%LLDの\ nを"、1LL <<回数(ORN ^そしてn)); } }
T2
つまり、結果はたったの$怠惰$マークで、テストデータのスケーリングにあります。
バレルとタイムスタンプを開くアプリケーションを調べます。
......タイムスタンプは良いことです。
書式#include <iostreamの> 書式#include <CStringの> 書式#include <cstdioを> #define N 111111 #define V 1111111 #define VIS(I)VIS [(I)百万] #define LL長い長いです 名前空間stdを使用。 チャーXCH、xBの[1 << 15]、*のXS = xbを、* XTT = xBの; #define GETC()(XS == XTT &&(XTT =(XS =のxB)+関数fread(xBで、1,1 << 15、STDIN)、XS == XTT)0:* XS ++) インラインint型リード(){ INT X = 0、F = 1; CHAR CH = GETC()。 (CH < '0' | CH> '9')一方、{(CH == ' - ')であればF = -1; CH = GETC();} 一方、(CH> = '0' && CH <= '9'){X = X * 10 + CH-'0' ; CH = GETC();} x * Fを返します。 } int型のC; VIS [V << 1] MKV、 もし、 ティム= 1、 NN; LL ANS = 0。 {int型のmain() int型; CN)は(読み取り=。 以下のために(INT I = 1; I <= CNであり; iは++){ int型OPT =読んで(); IF(OPT == 1){ NN =)(読み取ります。 用(INTのJ = 1; J <= NN; J ++){ DAT =)は(読み取り、 もし(魚(これMKV-)!= TIM){ ANS + =この; ++う。 } 魚(-MKV)=ティム。 } } それ以外の場合(オプト== 2){ ティム++; NN =)(読み取ります。 ANS = 0、あなたは= 0; 用(INTのJ = 1; J <= NN; J ++){ DAT =)は(読み取り、 IF(魚(これMKV-)== TIM-1){ ANS + =この; ++う。 魚(-MKV)=ティム。 } } } それ以外の場合(オプト== 3){ MKV ++; ANS + =あなた。 } それ以外の場合(オプト== 4){ mkv--; ANS =あなた。 } printf( "%LLDする\ n"、ANS)。 } }
T3
まず、つぶやきました。