nyoj 290 動物統計加強版 《字典樹》

2021-07-11 22:53:18 字數 1699 閱讀 9091

時間限制:

3000 ms  |  記憶體限制:

150000 kb

難度:4 描述

在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。

輸入第一行輸入動物名字的數量n(1<= n <= 4000000),接下來的n行輸入n個字串表示動物的名字(字串的長度不超過10,字串全為小寫字母,並且只有一組測試資料)。 

輸出輸出這些動物中最多的動物的名字與數量,並用空格隔開(資料保證最多的動物不會出現兩種以上)。 

樣例輸入

10

boar

pigsheep

gazelle

sheep

sheep

alpaca

alpaca

marmot

mole

樣例輸出

sheep 3

**[陳玉 張云聰]原創

上傳者陳玉

一般排序超時,,就用字典樹了-.-

-.-記下最大個數及對應的字串.....

錯誤**:tle,,,,sort排序時間是nlog2  n   是10的8次方左右。。。

#include#include#include#includeusing namespace std;

struct nodech[4000100];

bool cmp(node xx,node yy)

lp=i;

} // for (int i=0;i<=n;i++)

// printf("666 %s\n",ch[i].hh);

printf("%s %d",ch[kk].hh,ss);

// }

return 0;

}

錯誤**:

#include#include#include#includeusing namespace std;

struct trie;

char *ko;//指標

int s;

struct trie root;

void jia(char xx)

if (i==ll-1)

}kk=kk->chilren[xx[i]-'a']; }}

int main()

printf("%s %d\n",ko,s);//用指標是最大錯誤、、因為我指向的是lll,最後一定輸出最後那個lll.....

return 0;

}

ac**:

#include#include#include#includeusing namespace std;

struct trie;

char ko[12];

int s;

struct trie root;

void jia(char xx)

kk=kk->chilren[xx[i]-'a'];

if (i==ll-1)}}

}int main()

printf("%s %d\n",ko,s);

return 0;

}

nyoj290 動物統計加強版

時間限制 3000 ms 記憶體限制 150000 kb 難度 4 描述 在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。輸入第一...

NYOJ 290 動物統計加強版 字典樹

經典的字典樹的問題,幾乎可以來當模版來用了,就留下來了 不過貌似用運算子過載排序 不知道是不是 也能過。需要注意的是開闢乙個新的記憶體時下乙個指標一定要指向null 字典樹 include include includeint max char ans 101 struct node struct ...

nyoj 290 動物統計加強版(RS雜湊)

時間限制 3000 ms 記憶體限制 150000 kb 難度 4 描述 在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。輸入第一...