上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 83 下一页
摘要: vjudge传送 给一个字符串,多次询问$[l,r]\(中不同子串的个数。\)(1 \leqslant |S| \leqslant 2000)$ 因为串长才2000,所以可以考虑$O(n^2)$的做法。 令$ans[l][r]\(表示区间\)[l,r]$中不同子串的个数,考虑怎么递推: 我们建立$n 阅读全文
posted @ 2021-03-19 09:47 mrclr 阅读(21) 评论(0) 推荐(0) 编辑
摘要: vjudge传送门 题面:$Q$次询问,每次求子串$[S_l, S_r]$第$k$次出现的位置。 首先,对于原串中的每一个子串,都能在SAM的后缀链接树上找到对应的节点。 那么如果我们知道这个节点的endpos集合,就能找到第$k$次出现的位置了。 所以接下来就要解决这两个问题: 1.快速确定子串在 阅读全文
posted @ 2021-03-19 09:25 mrclr 阅读(26) 评论(0) 推荐(0) 编辑
摘要: vjudge传送门 题面:(用SAM)求串的最小表示法。 首先最小表示法有$O(n)$的做法,但老师把这道题放这是让我们练SAM的,那就说SAM的做法吧。 首先把串的二倍都扔到SAM中,然后可以类比暴力的做法: 暴力的做法是从多个字典序最小的字符开始一位一位的比较,直到当前字典序最小的字符只出现在一 阅读全文
posted @ 2021-03-19 08:25 mrclr 阅读(54) 评论(0) 推荐(0) 编辑
摘要: vjudge传送门 题面:给以个长度为$2.5*10^5$的小写字母组成的字符串,令$F(x)$表示长度为$x$的子串出现次数的最大值,求$F(i)$. 这个算是SAM的裸题吧。 先把SAM建出来,然后统计每一个节点的endpos个数$siz[u]$,那么$max {siz[u] }(len[u]= 阅读全文
posted @ 2021-03-18 22:43 mrclr 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 题面传送 真心不想再看这道题。当年我还打了这场csp,本来我的神奇乱搞写法能拿88分。然后想再骗一点后面的大数据,结果自己把空间整爆了……赔了夫人又折兵。 乱搞做法不细说了,总而言之就是打表,然后发现是一个偶尔会下降的递增序列,然后乱搞了一下就差不多了…… 正解是单调队列优化一个贪心。 有一个结论是 阅读全文
posted @ 2021-03-10 20:53 mrclr 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题面传送 题意:给了$n$个堆的高度,要求改变堆的高度,首尾不可改变,使得队列的任意相邻的两数之差$\leqslant d$,求最小代价。 令$dp[i][j]$表示将第$i$个堆的高度改为$j$时,$1 \sim i$的最小代价。 转移很好写:\(dp[i][j] = min\{dp[i - 1] 阅读全文
posted @ 2021-03-10 20:26 mrclr 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 看到环,就先想到断环为链。 对于逆时针,可以当做倒过来的顺时针。 接下来对于一个长度为$2n$的链,我们记$sp[i],sd[i]$分别表示$p[i],d[i]$的前缀和。 以顺时针为例,如果从一个地方出发不能环游一周,一定存在一个$j\in[i+1,i+n-1]$,使得$sp[j] - 阅读全文
posted @ 2021-03-10 19:57 mrclr 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题面传送 这题好想,dp嘛。但是转移容易漏。 令$dp[i][j]$表示第$i$天,手里有$j$股时的最大利润,那么 1.啥也不干:\(dp[i][j] = dp[i - 1][j]\). 2.凭空买(前几天啥也不干):\(dp[i][j] = max \{dp[i][j], -j * ap[i]\ 阅读全文
posted @ 2021-03-10 13:55 mrclr 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题面传送 一道很简单的dp+单调队列优化的题,推荐洛谷的第一篇题解,给出了多种方法。 令$dp[i][0/1]$表示枚举到第$i$头奶牛,其中第$i$头奶牛不选/选时的最大效率。 那么转移的时候分情况: 如果不选$i$,:\(dp[i][0] = max(dp[i - 1][0], dp[i - 1 阅读全文
posted @ 2021-03-09 16:08 mrclr 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 传送 二维哈希。 初始化和查询的时候仿照二维前缀和。只不过行和列要分别有两个不同的哈希值。 然而我写的取模哈希不知道为啥它WA了,改成自然溢出的过了…… 代码放上,怕忘。 #include<cstdio> #include<cstring> #include<cctype> using namesp 阅读全文
posted @ 2021-01-02 15:32 mrclr 阅读(72) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 83 下一页