點我看題
題意:找出每個字串的公共字首的下乙個位置,計算這些長度之和.
分析;基礎字典樹.寫的時候一直在re,陣列開的太大,但是沒有給出name的最長,只能估計了.
參考**:
#include#include#include#include#includeusing namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
const int maxn = 1e3+5;
const int maxm = 1e6;
int n;
//char name[10005];
char name[1005][10005];
struct trietree;
trietree tt[500005];
int tsize;
int ans;
void init()
void trieinsert( char name)
tt[rt].cnt++;
rt = tt[rt].child[id];
p++;
}}/*
int triesearch( int rt, int deep)
}}*/
int triesearch( char name)
return 0;
}int main()
ans = 0;
triesearch(0,0);
*/ for( int i = 1; i <= n; i++)
ans = 0;
for( int i = 1; i <= n; i++)
ans += triesearch(name[i]);
printf("%d\n",ans);
}}
CSU 1115 最短的名字(字典樹)
description 在乙個奇怪的村子中,很多人的名字都很長,比如aaaaa,bbb and abababab。名字這麼長,叫全名顯然起來很不方便。所以村民之間一般只叫名字的字首。比如叫 aaaaa 的時候可以只叫 aaa 因為沒有第二個人名字的前三個字母是 aaa 不過你不能叫 a 因為有兩個人...
CSU 1115 最短的名字
description 在乙個奇怪的村子中,很多人的名字都很長,比如aaaaa,bbb and abababab。名字這麼長,叫全名顯然起來很不方便。所以村民之間一般只叫名字的字首。比如叫 aaaaa 的時候可以只叫 aaa 因為沒有第二個人名字的前三個字母是 aaa 不過你不能叫 a 因為有兩個人...
CSU 1115 最短的名字
submit page summary time limit 5 sec memory limit 64 mb submitted 1731 solved 657 在乙個奇怪的村子中,很多人的名字都很長,比如aaaaa,bbb and abababab。名字這麼長,叫全名顯然起來很不方便。所以村民之...