1.hdu 1251 統計難題
很裸的一道字典樹,直接輸出個數的, 其實用map也能水過,只不過效率有些低
map版本
map做法就是把每個字串的所有字首遍歷一遍,然後存起來,最後直接數個數就行。
具體**吐下 很久很久以前的** 很挫
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
char s[11];
int main()
} *root, temp[500005]; // 為了避免用new太多浪費時間,事先開好乙個陣列, 當然,記憶體又有可能爆掉了
int ncount = 0;
void insert(trie *p, char *s)
else
p -> num++;
}}int find(trie *p, char *s)
else return 0;
}return ans;
}int main()
while(scanf("%s", str) != eof)
return 0;
}
2.poj 2001shortest prefixes
同樣,很裸的字典樹。
/*
id: sdj22251
prog: calfflac
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define max 100000000
#define pi acos(-1.0)
using namespace std;
char s[1005][23];
struct trie
}*root, temp[50000];
int ncount = 0;
void insert(trie *p, char *s)
else
p -> num++;
}}int find(trie *p, char *s)
else return 0;
}return ans;
}int main()
for(i = 0; i < cnt; i++)
}printf("%s %s\n", s[i], tp);
}return 0;
}
3. hdu 1247
這個就當做模板吧。。。
字典樹應用,先插入所有單詞,然後暴力拆分每個單詞,看拆分後的兩個單詞是否都在字典樹中出現,注意是確切出現,而不是作為子串出現,所以插入的時候注意下
/*
id: cugb-wwj
prog:
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 100000000
#define pi acos(-1.0)
using namespace std;
char str[50051][50];
struct trie
} *root ;
int ncount = 0;
void insert(trie *p, char *s)
p -> num++;
}int find(trie *p, char *s)
else return 0;
}return ans;
}int main()
for(int i = 0; i < ncount; i++)
}if(flag) puts(str[i]);
}return 0;
}
POJ3630 trie字典樹水題
題意 給出一些 號碼,詢問是否某個 號碼是其他 號碼的字首,有輸出no,沒有輸出yes。顯然的字典樹。好久沒寫了,拿出來練練。借用了xffyjq大神的新申請結構體指標防爆寫法。注意是不是字首在主串之後輸入。include include include include using namespace...
HDU 1251 統計難題(字典樹水題)
ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignatius統計的單詞,乙個空行...
A 辭樹的QAQ水題
題目描述 蒟蒻的辭樹又被吊打了嚶嚶嚶。留下了屬於弱者的眼淚qaqaqaqaqaaqaaqa 現在我 們定義辭樹的悲傷值 f f的值為主串中子串行為 qaq 的個數。注意字母 qaq 不一定是 連續的,但是字母的順序應該是準確的。輸入輸入乙個整數t 0 t 20 代表有t組資料。每組資料會給出乙個字串...