找球號二 位運算

2021-06-20 16:18:35 字數 760 閱讀 8823

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:5 描述

在某一國度裡流行著一種遊戲。遊戲規則為:現有一堆球中,每個球上都有乙個整數編號i(0<=i<=100000000),編號可重複,還有乙個空箱子,現在有兩種動作:一種是"add",表示向空箱子裡放m(0

輸入

第一行有乙個整數n(0

輸出輸出每次詢問的結果"yes"或"no".

樣例輸入

2

add 5 34 343 54 6 2

query 4 34 54 33 66

樣例輸出

yes

yesno

no

思路:用標記陣列record標記球號在不在裡面。但是編到100000000太大了,用數字沒辦法標記,故借助位運算。

因為乙個int型變數佔32位,若開乙個陣列int record[5],record[0]就可以標記0-31,故這個陣列可以標記0-159,本題是要標記0-100000000,故需開100000000 / 32 = 3125000這麼大的陣列。

#include#includeint record[3125005];//標記陣列

int main()

else

else

}} }

return 0;

}

nyoj 找球號 二)

隨後有n行 每行可能出現如下的任意一種形式 第一種 乙個字串 add 接著是乙個整數m,隨後有m個i 第二種 乙個字串 query 接著是乙個整數m,隨後有m個ki add 5 34 343 54 6 2 query 4 34 54 33 66 yesno no 方法一 vector容器 inclu...

nyoj 題目138 找球號(二)

時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在某一國度裡流行著一種遊戲。遊戲規則為 現有一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,還有乙個空箱子,現在有兩種動作 一種是 add 表示向空箱子裡放m 0 輸入 第一行有乙個整數n 0 輸出...

nyoj 找球號 一)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在某一國度裡流行著一種遊戲。遊戲規則為 在一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,現在說乙個隨機整數k 0 k 100000100 判斷編號為k的球是否在這堆球中 存在為 yes 否則為 n...