題目意思:頭哥,眾所周知,作為acm隊的主力選手,最近遇到了一些煩惱,那就是cet-4臨近了,但是他還有很多單詞沒記住.
現在頭哥有n個單詞沒記住,(所有的單詞長度加起來不超過5e5),他需要區分其中的m對單詞,因為兩個單詞前面有一部分是一樣的,所以他只需要記住後面不相等的部分,所以頭哥想要知道每對單詞最長相等的字首長度。
題目連線:
思路就是,建個字典樹在,所為的最長公共字首,可以這樣求,即是,兩個字串的最近公共祖先lca 的那個字母的深度。
需要注意一下的是。我在自己的電腦上 結構體裡開了個26*100000的陣列,就執行錯誤了,交到oj 能ac ;
#include
#include
#include
#include
using namespace std;
const int maxnode=5
*100000;
int f[maxnode];
int v=-1;
struct trie
int idx(char c)
void insert(char *s,int v,int num)
u=ch[u][c];
}val[u]=v;
f[num]=u;
v=max(v,u);
}};char ss[100000
*5+10];
int parent[32][100000
*5+10];
int depth[100000
*5+10];
void dfs(int v,int p,int d,trie &t1)
}}void init(int v)
else }}
} int lca(int u,int v)
}if(u==v) return u;
for(int k=32-1;k>=0;k--)
}return parent[0][u];
} int main()
dfs(0,-1,0,t1);
init(v);
int u,v,pot;
for(int i=0;i}
return0;}
/* int query(char *s)
else
}return
1&&val[u];
} */
7 20英語學習筆記
一 exercise 1.hamper n阻礙,盒子,v阻礙 hammer n錘子 2.ignore v忽視 ignorance n無知 ignorant adj無知的 3.migrate 移民 immigrate 移民入境 emigrate 移民出境 4.inherit v繼承 heir n繼承人...
7 20 電話聊天狂人
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...
python學習總結7 20
01決策樹原理概論 樹模型決策樹 從根節點開始一步步走到葉子節點 所有的資料最終都會落到葉子節點,既可以做分類也可以做回歸 樹的組成 根節點 第乙個選擇點 非葉子節點與分支 中間過程 葉子節點 最終的決策結果 節點增加節點相當於在資料中切一刀 決策樹的訓練與測試 訓練階段 從給定的訓練集構造出來一棵...