還是字典樹,是判斷是否有字元是另乙個的字首,kuangbin的部落格上說交立即碼。。。有扯遠了。。。看官別介意。
其實就是字典樹的使用,只不過就是在build_tree的時候就判斷就好了?
下面是一些注意點:
1.注意一旦不成立了,下面就不用繼續建樹了。。。這樣節約時間。
2.注意這些不是太容易找到結束的輸入,注意多次用whilescanf
3.還有。。。注意指標啊。。。還是要多練練。。。
4.哦,對。。。注意多組資料的時候,這些指標較多的題目要釋放指標啊。。。
恩恩,差不多這些。。。
ac**(vj提交):
#include #include #include #include using namespace std;
typedef struct trie_nodenode;
bool flag;
void build(node *root,char str)
else
}p=p->next[str[i]-'0'];
}p->cover=true;
}void del(node *root)
int main()
if(flag==true)printf("set %d is immediately decodable\n",k);
else printf("set %d is not immediately decodable\n",k);
del(root);
k++;
}return 0;
}
2016寒假訓練 搜尋
一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。繞口令,呵呵 首先,不需要找到的次序,而且m 20,所以不會有爆棧的風險。然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和 4不為0的話,則一定是不可能。下面就是...
2016寒假訓練 二分
poj3104 用模擬會超時,所以考慮用二分節約時間 首先分析,實際上是每一次都是去烘乾水量最大的,風乾其他的,然後烘完再排序一下,重複這一操作,直到所有的都為1。當然,模擬顯然是會超時的。所以我們這樣考慮,我們這樣考慮,如果對於乙個時間t,我們的有一部分衣服就會自然風乾,有一部分衣服需要自己來烘乾...
2016級ACM寒假訓練(一)
problem a time limit 1000ms memory limit 65535k 跳傘是乙個技術活,某空軍新來了一批新兵,為了訓練新兵跳傘的準確度,指揮官想了乙個好辦法,他在訓練場畫了乙個矩陣,每個格仔有乙個數字,如果某士兵跳到了 x,y 格點,那麼他的得分便是他周圍的八個格仔上的數字...