ha實驗有一套非常嚴密的安全保障體系,在ha實驗基地的大門,有乙個指紋鎖。
該指紋鎖的加密演算法會把乙個指紋轉化為乙個不超過1e7的數字,兩個指紋數值之差越小,就說明兩個指紋越相似,當兩個指紋的數值差≤k時,這兩個指紋的持有者會被系統判定為同乙個人。
現在有3種操作,共m個,
操作1:add x,表示為指紋鎖錄入乙個指紋,該指紋對應的數字為x,如果系統內有乙個與x相差≤k的指紋,則系統會忽略這次新增操作
操作2:del x,表示刪除指紋鎖中的指紋x,若指紋鎖中多個與x相差≤k的指紋,則全部刪除,若指紋鎖中沒有指紋x,則可以忽略該操作,
操作3:query x,表示有乙個持有指紋x的人試圖開啟指紋鎖,你需要設計乙個判斷程式,返回該人是否可以開啟指紋鎖(只要x與存入的任何乙個指紋相差≤k即可開啟鎖)。
初始狀態,指紋鎖中沒有任何指紋。
第一行有2個正整數m,k。接下來m行,每行描述一種操作:add x,del x或query x。
對於每個query操作,輸出一行,包含乙個單詞「yes」或「no」,表示該人是否可以開啟指紋鎖。示例1
複製
4 3add 1
add 10
query 5
query 4
複製
noyes
示例2複製
4 3add 1
query 4
del 1
query 4
複製
yesno
示例3複製
6 3add 10
query 10
add 5
query 5
del 7 //系統將指紋10和指紋5全部刪除
query 8
複製
yesyesno
對於100%的測試資料:1 ≤ k,m ≤ 1000000
資料量較大,注意使用更快的輸入輸出方式。
#includeusing namespace std;typedef long long ll;
const ll mod=1e9+7;
const int maxn=1e6+50;
const ll inf=0x3f3f3f3f3f3f;
int k;
struct node
else if(s[0]=='d')st.erase(x);
else
}return 0;
}
牛客小白月賽6 G 指紋鎖
題目鏈結 ha實驗有一套非常嚴密的安全保障體系,在ha實驗基地的大門,有乙個指紋鎖。該指紋鎖的加密演算法會把乙個指紋轉化為乙個不超過1e7的數字,兩個指紋數值之差越小,就說明兩個指紋越相似,當兩個指紋的數值差 k時,這兩個指紋的持有者會被系統判定為同乙個人。現在有3種操作,共m個,初始狀態,指紋鎖中...
牛客小白月賽6
c 挑花 dfs或bfs 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條鏈上的所有桃花,由於htbest法力有限,只能使用一次魔法棒,請求出htbest最多可以摘到多少個桃花。第一行...
牛客小白月賽6 桃花
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條...