Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
trie树TLE的注意了!!!!!1.数组开小的话就是一切皆有可能 2.优化是这样的: 由于单词个数很少 而且在矩阵中不会有重复(数据特殊) 所以很多单词在刚刚开始匹配时就夭折了(绝大多数) 所以枚举判断时 不要先把字符串取出来 更不要写成函数!! for (int i = 0; i < n; i ++) for (int j = 0; j < m; j ++) for (int k = 0; k < 8; k ++) { int p (0); int x = i, y = j; while (x < n && y < m && x >= 0 && y >= 0) { char ch = map[x][y]; if (t[p][ch - 'A']) { p = t[p][ch - 'A']; if (vis[p]) { vis[p] = false; ans[la[p]][0] = i; ans[la[p]][1] = j; ans[la[p]][2] = k; } } else break; x += dx[k]; y += dy[k]; } } 1s和AC自动机差不多 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator