靜態建樹之 尋找字首是否是其他字串

2021-07-16 19:43:30 字數 711 閱讀 2191

題目:poj3630

題意:尋找字首是否是其他字串

解答:靜態建樹!

這個靜態的樹怎麼建立的呢?

1、定義乙個節點,並且定義節點陣列表示這課樹上的所有節點。節點的乙個變數terminal表示該節點是否是乙個字串的最後乙個。另乙個節點son[10]表示該節點的兒子們的下標。

2、建立一棵樹,bool ans表示是否成立,ptr表示這個樹的下標,從0開始~

3、插入乙個字串,定義乙個當前下標now,每次now從0開始。bool t1,t2表示導致結果為假的兩個因素。

#include#include#includeusing namespace std;

const int maxn = 100000;

int base = '0',ptr;

bool ans;

struct node

;node arr[maxn];

void init()

}void insert(char *s,int len)

else

}arr[now].terminal = true;

ans = t1 && (!t2);

}int main()

if(ans)

printf("yes\n");

else

printf("no\n");

}}

PHP演算法之判斷是否是質數

質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能整除其他自然數的數叫做質數 否則稱為合數。迴圈所有可能的備選數字,然後和中間數以下且大於等於2的整數進行整除比較,如果能夠被整數,則肯定不是質數,相反,就是質數。這也是最可能先想到的,也就是直接和備選數的中間數去比較,演算法原始碼如下 獲取所有...

判斷乙個物件是否是另乙個的字首

題目 給出兩個int型的vector物件,編寫程式判斷乙個物件是否是另乙個物件的字首。如果兩個vector物件的長度不相同,假設較短的vector物件長度為n,則只對這兩個物件的前面n個元素做比較。例如,對於 0,1,1,2 和 0,1,1,2,3,5,8 這兩個vector,你的程式應該返回tru...

C C 之判斷鍊錶是否是回文鍊錶

判斷鍊錶是否是回文鍊錶主要通過判斷對應位置的元素值是否是相等的第一種解法 將原有鍊錶反轉獲取新的鍊錶,與原有的鍊錶比較,判斷對應元素的值是否相等 include using namespace std struct node typedef struct node plist typedef str...