SDUT OJ 迷之好奇 (字典樹

2021-08-22 04:31:52 字數 1089 閱讀 9415

time limit: 2000 ms memory limit: 65536 kib

submit

statistic

problem description

ff得到了乙個有n個數字的集合。不要問我為什麼,有錢,任性。

ff很好奇的想知道,對於數字x,集合中有多少個數字可以在x前面新增任意數字得到。

如,x = 123,則在x前面新增數字可以得到4123,5123等。

input

多組輸入。

對於每組資料

首先輸入n(1<= n <= 100000)。

接下來n行。每行乙個數字y(1 <= y <= 100000)代表集合中的元素。

接下來一行輸入m(1 <= m <= 100000),代表有m次詢問。

接下來的m行。

每行乙個正整數x(1 <= x <= 100000)。

output

對於每組資料,輸出乙個數字代表答案。

sample input

3

12345

66666

12356345

12345

356

sample output

1

01

#include using namespace std;

struct node

;struct node a[1000000];

int top;

struct node *create_empty( )

struct node *insert ( struct node *root, int s )

p->data--; //最高位次數減一,去掉本身

return root;

}int find( struct node *root, int s )

return p->data;

}int main()

cin >> m;

while( m-- )

}return 0;

}

sdut oj 迷之好奇(字典樹)

problem description ff得到了乙個有n個數字的集合。不要問我為什麼,有錢,任性。ff很好奇的想知道,對於數字x,集合中有多少個數字可以在x前面新增任意數字得到。如,x 123,則在x前面新增數字可以得到4123,5123等。input 多組輸入。對於每組資料 首先輸入n 1 n ...

SDUT 3039 迷之好奇 字典樹

題目鏈結 給定n個數字的集合,對於數字x,集合中有多少個數字在x前面新增任意數字可以得到。首先先將輸入的字元逆序,這樣就可以轉化為字首的問題。由測試資料可以看出,當要查詢的x為集合中的某一數字時,是不進行計數的。將數字逆序構建字典樹,cnt用來計算字元在字典樹特定位置中出現的次數,在最後的位置cnt...

SDUT 迷之好奇

include include int top struct node st 5001000 int creat void insertt int root,char s st root flag root st root next t int cmp char s,int root root st...