
稀疏表
Neo__Z
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NOIP模拟 字符串【后缀数组+稀疏表】
题目描述给定两个字符串 s 和 t ,两个字符串都由 26 个小写字母中的部分字母构成。现在需要统计 t 在 s 中出现了的次数。 对于 s1 中的每个位置 i ,设 strlen(s2)=m ,若: ∑mj=1[s[i+j−1]!=t[j]]≤k\sum^m_{j=1}[s[i+j-1]!=t[j]]\le k (最外层中括号为布尔表达式) 则认为 t 在 s 的 i 处出现了一次,现在想原创 2017-11-10 08:06:14 · 315 阅读 · 0 评论 -
bzoj1699 排队【稀疏表】
解题思路:稀疏表模板题。 注意数组要开大点,倍增预处理时容易越界。#include<bits/stdc++.h> #define ll long long using namespace std;int getint() { int i=0,f=1;char c; for(c=getchar();(c<'0'||c>'9')&&c!='-';c=getchar()); if原创 2017-12-18 16:46:45 · 262 阅读 · 0 评论 -
bzoj4569: [Scoi2016]萌萌哒【稀疏表+并查集】
解题思路: 考虑暴力就是O(n2)O(n^2)用并查集维护那些位置要填的数字相同,若最后有cntcnt个集合,那ans=9∗10cnt−1ans=9*10^{cnt-1}(第一个集合填不能填0)。 考虑类似ST表的方法,第jj层把每个区间划分成前2j2^j位和后2j2^j位,各看做一块。两个块属于同一个集合表示其块内每位对应相同。我们开lognlogn个并查集,每一层记录对应第jj层的相同性,原创 2018-01-11 18:49:57 · 262 阅读 · 0 评论 -
bzoj3784: 树上的路径【点分治+ST表+优先队列】
Description 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a Input 第一行两个正整数N,M 下面N-1行,每行三个正整数a,b,c(a,b<=N,C<=10000)。表示结点a到结点b有一条权值为c的边。 Output 共M行,如题所述. Sample Inp...原创 2018-03-09 19:44:51 · 432 阅读 · 0 评论 -
bzoj3879: SvT【后缀数组+稀疏表+单调栈】
Description (我并不想告诉你题目名字是什么鬼) 有一个长度为n的仅包含小写字母的字符串S,下标范围为[1,n]. 现在有若干组询问,对于每一个询问,我们给出若干个后缀(以其在S中出现的起始位置来表示),求这些后缀两两之间的LCP(LongestCommonPrefix)的长度之和.一对后缀之间的LCP长度仅统计一遍. Input 第一行两个正整数n,m,分别表示S的长度以...原创 2018-04-11 21:00:20 · 353 阅读 · 0 评论