補上
hdu3065:多組資料有點坑爹
hdu2222:模板,但是換了一種寫法,雖然之前那種寫法貌似複雜度也是o(n)的(不知道怎麼證明,但是感覺和kmp差不多).這種寫法構建了乙個trie圖,複雜度是很顯然的o(n)而且**還短一點,大概要快十分之一。
**如下:
hdu3065:
#include "cstdio"
#include "cstdlib"
#include "iostream"
#include "algorithm"
#include "cstring"
#include "queue"
using namespace std;
#define max_size 2000005
#define inf 0x3f3f3f3f
#define eps
#define mod
inline int get_int()
while(ch < '0' || ch > '9');
dowhile(ch >= '0' && ch <= '9');
return num * flag;
}class node
*root, *empty;
int n, length;
int num[1005];
char str[max_size], virus[1005][55];
inline node* new()
inline void build_trie()
temp -> count = i;
}}inline void build_acam()
}}inline void solve()
int to = str[i] - 'a';
while(!now -> next[to])
now = now -> fail;
now = now -> next[to];
for(node *temp = now; temp != root; temp = temp -> fail)
++num[temp -> count];
}for(int i = 1; i <= n; ++i)
if(num[i])
printf("%s: %d\n", virus[i], num[i]);
}inline void release(node *now)
int main()
return 0;
}
hdu2222:
#include "cstdio"
#include "cstdlib"
#include "iostream"
#include "algorithm"
#include "cstring"
#include "queue"
using namespace std;
#define max_size 10005
#define inf 0x3f3f3f3f
#define eps
#define mod
inline int get_int()
while(ch < '0' || ch > '9');
do while(ch >= '0' && ch <= '9');
return num * flag;
}class node
*root, *empty;
int length[max_size];
int m, n, t, ans;
char words[max_size][55], str[1000005];
inline node* new()
inline void build_trie()
temp -> count++; }}
inline void build_acam()
else
now -> next[i] = now -> fail -> next[i]; }}
inline void solve() }}
int main()
build_trie();
build_acam();
scanf("%s", str);
m = strlen(str);
for(int i = 0; i < m; ++i)
str[i] -= 'a';
solve();
printf("%d\n", ans);
} return 0;
}
OI刷題記錄
2014 4 18 poj3264 bzoj1699 balanced lineup rmq 2014 4 19 bzoj1012 jsoi2008 最大數maxnumber noi2004 鬱悶的出納員 bzoj3224 tyvj 1728 普通平衡樹 2014 4 20 bzoj1862 105...
面試刷題記錄
寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 測試樣例 a b 5 4 返回 false include vector include iostream using namespace ...
刷題記錄 2015 11 14
現在每天做的題都記錄一下,免得不知道自己在幹什麼。poj2406 用next陣列的定義求迴圈節 poj3261 字尾陣列 題 spoj705 同上,這題我wa了幾次,結果發現 我以為字串只有大寫字母,其實有小寫。如下 poj2406 author duyixian date 2015 11 14 1...