摘要:
int son[N][26], cnt[N], idx;// 0号点既是根节点,又是空节点// son[][]存储树中每个节点的子节点// cnt[]存储以每个节点结尾的单词数量 // 插入一个字符串void insert(char *str){ int p = 0; for (int i = 0; 阅读全文
posted @ 2022-11-28 21:26
山海自有归期
阅读(31)
评论(0)
推荐(0)
摘要:
// s[]是长文本,p[]是模式串,n是s的长度,m是p的长度求模式串的Next数组:for (int i = 2, j = 0; i <= m; i ++ ){ while (j && p[i] != p[j + 1]) j = ne[j]; if (p[i] == p[j + 1]) j ++ 阅读全文
posted @ 2022-11-28 21:26
山海自有归期
阅读(31)
评论(0)
推荐(0)
摘要:
常见模型:找出滑动窗口中的最大值/最小值int hh = 0, tt = -1;for (int i = 0; i < n; i ++ ){ while (hh <= tt && check_out(q[hh])) hh ++ ; // 判断队头是否滑出窗口 while (hh <= tt && c 阅读全文
posted @ 2022-11-28 21:26
山海自有归期
阅读(26)
评论(0)
推荐(0)
摘要:
vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() [] 支持比较运算,按字典序 pair<int, int> first, 第一 阅读全文
posted @ 2022-11-28 21:25
山海自有归期
阅读(38)
评论(0)
推荐(0)
摘要:
p[0] = 1;for (int i = 1; i <= n; i ++ ){ h[i] = h[i - 1] * P + str[i]; p[i] = p[i - 1] * P;} // 计算子串 str[l ~ r] 的哈希值ULL get(int l, int r){ return h[r] 阅读全文
posted @ 2022-11-28 21:25
山海自有归期
阅读(33)
评论(0)
推荐(0)

浙公网安备 33010602011771号