這道題我最開始是用的map標記來寫的,但寫完後發現tle了,後來看別人的題解才知道是要用雜湊來做,就學了一下雜湊。但還是不太明白,為啥map標記會超時??
這裡貼個用map寫的tle了的**。。
#include
#include
#include
#include
using
namespace
std;
map m;
int main()
} else else
printf("no\n");}}
}return
0;}
ac**:
#include
#include
#include
using
namespace
std;
const
int n = 1000002;
const
int fib = 100001; //盡量是個稍微大一點的素數,以隨機雜湊
int hash[n],head[n],next[n]; //head相當於每個雜湊表的頭節點,next指向當前節點的下乙個節點
int top;
void add(int x)
bool query(int x)
}return
false;
}int main()
} else
else
printf("no\n");}}
}return
0;}
NYOJ 138 找球號(二)雜湊表
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在某一國度裡流行著一種遊戲。遊戲規則為 現有一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,還有乙個空箱子,現在有兩種動作 一種是 add 表示向空箱子裡放m 0 輸入 第一行有乙個整數n 0 輸出...
nyoj 138 找球號 二)hash表
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在某一國度裡流行著一種遊戲。遊戲規則為 現有一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,還有乙個空箱子,現在有兩種動作 一種是 add 表示向空箱子裡放m 0 輸入 第一行有乙個整數n 0 輸出...
NYOJ 138找球號 hash表
時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述 在某一國度裡流行著一種遊戲。遊戲規則為 現有一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,還有乙個空箱子,現在有兩種動作 一種是 add 表示向空箱子裡放m 0 輸入 第一行有乙個整數n 0 輸出...