思路:字首樹的使用
之前似乎很少寫過字首樹,練習下
借鑑一篇部落格上的**,but他的**是錯的啊。。。。 坑了我好久, 坑就是刪除的時候要先查詢出該字首有多少串可以匹配,設該值為num,刪除過程中中間經過的點要減去這一num,最後乙個點v置0,並且next陣列全部賦值為-1
#include #include #include using namespace std;
struct note
};note l[1200500];
int tot=0;
void add(char s,int len)
{ int now=0;
for(int i=0;i
2016百度之星 Problem B
度熊面前有乙個全是由1構成的字串,被稱為全1序列。你可以合併任意相鄰的兩個1,從而形成乙個新的序列。對於給定的乙個全1序列,請計算根據以上方法,可以構成多少種不同的序列。input 這裡包括多組測試資料,每組測試資料報含乙個正整數nn 代表全1序列的長度。1 n 2001 n 200 output ...
2016 百度之星 複賽 拍照
小明在旅遊的路上看到了一條美麗的河,河上有許多船隻,有的船隻向左航行,有的船隻向右航行。小明希望拍下這一美麗的風景,並且把盡可能多的船隻都完整地拍到一張 中。小明位於河的邊上,並且可以在河邊的任意位置進行拍照,照相機的視野恰好為90度角,只能以垂直於河邊的方向進行拍照。河上的船隻全都可看作是平行於河...
HDU 5698 瞬間移動 百度之星2016
傳送門 hustoj 傳送門 hdu 中文的,有圖,開源網頁吧。m行n列,每次至少往右走一步 往下走一步,所以一共往右走n 1格,往下走m 1格。所以最多走min m 1,n 1 次。往右走往下走的次數相等,所以把m 1和n 1分別拆成k個數的和。k從1取到min m 1,n 1 拆數用隔板法組合。...