總時間限制:
1000ms
記憶體限制:
131072kb
描述 給定一些文件,要求求出某些單詞的倒排表。
對於乙個單詞,它的倒排表的內容為出現這個單詞的文件編號。
輸入第一行包含乙個數n,1 <= n <= 1000,表示文件數。
接下來n行,每行第乙個數c
i,表示第i個文件的單詞數。接下來跟著c
i個用空格隔開的單詞,表示第i個文件包含的單詞。文件從1開始編號。1 <= c
i<= 100。
接下來一行包含乙個數m,1 <= m <= 1000,表示查詢數。
接下來m行,每行包含乙個單詞,表示需要輸出倒排表的單詞。
每個單詞全部由小寫字母組成,長度不會超過256個字元,大多數不會超過10個字元。
輸出對於每乙個進行查詢的單詞,輸出它的
如果倒排表為空,輸出"not found"。
倒排表,文件編號按從小到大排序。
樣例輸入
3樣例輸出2 hello world
4 the world is great
2 great news
4hello
world
great
pku
1直接hash。1 22 3
not found
#include#include#include#include#include#include#includeusing namespace std;
char box[100107][300];//存放字串。
int wen[100107][101];//存放文件。
bool vis[100107];
int hash(char *st)
return (key & 0x7fffffff)%100107;
}int main()
int m;
char str[300];
for(i = 1; i <= n; i++)
if(wen[key][p]!=i) wen[key][p] = i;}}
int m;
scanf("%d",&m);
while(m--)
int p=0;
if(flag)
while(wen[key][p])
else printf("not found");
if(m)printf("\n");
}return 0;
}
倒排索引 和 倒排表
為什麼我們要說倒排索引呢?因為倒排索引是目前 搜尋引擎公司最對搜尋引擎最常用的儲存方式.也是搜尋引擎的核心內容 在搜尋引擎實際的引用之中,有時需要按照關鍵字的某些值查詢記錄,所以我們是按照關鍵字建立索引,這個索引我們就稱之為 倒排索引,而帶有倒排索引的檔案我們又稱作 倒排索引檔案也可以叫它為 倒排檔...
倒排索引 Inverted Index
倒排索引 英語 inverted index 也常被稱為反向索引 置入檔案或反向檔案,是一種索引方法,被用來儲存在全文搜尋下某個單詞在乙個文件或者一組文件中的儲存位置的對映。它是文件檢索系統中最常用的資料結構。有兩種不同的反向索引形式 以英文為例,下面是要被索引的文字 我們就能得到下面的反向檔案索引...
倒排索引基礎
搜尋引擎的索引 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3 1 單詞 文件矩陣 從縱向即文件這個維度來看,每列代表文件包含了哪些單詞,比如文件1包含了詞彙1和詞彙4,而不包含其它單詞。...