摘要: 题目大意:士兵要学骑扫帚。每个士兵有一个level,level高的能在同一把扫帚上教level低的怎么骑。一个人最多有一个老师,一个学生。也可以没有。给n个士兵的level值,问最少需要多少扫帚。//字典树#include #include int cnt,n,max;char s[50];struct Node{int son[10];int sum;}trie[500000];void insert(char *s){ for(int l=strlen(s),i=0,x=0;imax)max=trie[x].sum; } }}void del(int x){ ... 阅读全文
posted @ 2014-02-21 15:59 forever97 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 字典树~#include #include using namespace std;int cnt,n;char s[12];struct Node{int sum; int son[26];}trie[500000];void insert(char *s){ for(int l=strlen(s),x=0,i=0;i<l;i++){ if(!trie[x].son[s[i]-'a'])trie[x].son[s[i]-'a']=++cnt; x=trie[x].son[s[i]-'a']; trie[x].sum++; }}int f. 阅读全文
posted @ 2014-02-21 14:19 forever97 阅读(137) 评论(0) 推荐(0) 编辑