上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 题意 求出多个串的最长公共子串。 分析 刚学SAM想做这个题的话最好先去做一下那道codevs3160。求两个串的LCS应该怎么求?把一个串s1建自动机,然后跑另一个串s2,然后找出s2每个前缀的最长公共后缀。那么多个的时候,我们也用这种类似的方法,但是我们求最长公共后缀的时候要求第一个串的。我们把 阅读全文
posted @ 2018-10-31 21:02 蒟蒻LQL 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个字符串,要你找出所有长度的子串分别的最多出现次数。 分析 我们建出后缀自动机,然后预处理出每个状态的cnt,cnt[u]指的是u这个状态的right集合大小。我们设f[len]为长度为len的子串的最多出现次数。我们对于自动机的每个状态都更新f,f[st[u].len]=max(f[s 阅读全文
posted @ 2018-10-31 11:51 蒟蒻LQL 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个字符串,求它的最小表示法。 分析 这个题当然可以用最小表示法做啦!但是我是为了学后缀自动机鸭! 我们把这个字符串长度乘二,然后建SAM,然后在SAM上每次跑最小的那个字母,找出长度为n的时候就停下。如果停下的那个状态时u,那么ans=st[u].len-n+1 1 #include < 阅读全文
posted @ 2018-10-31 11:35 蒟蒻LQL 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题意 给出两个字符串,求它们的最长公共子串。 分析 后缀自动机的基础应用。 比如两个字符串s1和s2,我们把s1建为SAM,然后根据s2跑,找出s2每个前缀的最长公共后缀。 我们可以理解为,当向尾部增加一个字母的时候,就按照匹配路径来走,当在SAM中找不到这样的字符串的时候,就要减少头部的字母,就顺 阅读全文
posted @ 2018-10-31 11:27 蒟蒻LQL 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题意 先定义了一个函数F(X)=An*2^n-1+An-1*2^n-2+.....+A1*1。其中Ai为X的第i位的值。对于每组数据给出了两个整数A,B。问不超过B的数中有多少的F值是不超过F(A)的。 分析 经过计算我们发现,F(A)最大不会超过5000,于是我们可以把它加到记忆化里面。我们令dp 阅读全文
posted @ 2018-09-15 02:01 蒟蒻LQL 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题意 对于每组数据给出一个整数n(length(n)<=100),找出不大于n的数字中有多少是Valley Numer。对于Valley的定义是它每一位的数字要么是递增,要么是递减,要么是先递减后递增 分析 选拔赛的时候遇到了数位dp,以前只是听说但是没学过今天就拿出来一天的时间学了一下数位DP。 阅读全文
posted @ 2018-09-15 01:40 蒟蒻LQL 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个有根树(根是1),有n个结点。初始的时候每个结点的值都是0.下面有q个操作,操作有两种,操作1.将深度为L的点的值全部增加X。操作2.查询以x为根的子树的结点值得和。 其中N,Q<=1e5 分析 一看这种没有办法直接用数据结构解决得问题就要考虑分块。这个题其实也不算是分块,应该是用了分 阅读全文
posted @ 2018-09-11 09:55 蒟蒻LQL 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 要补的题太多了导致最近没写博客(好吧是我懒) 题目链接https://nanti.jisuanke.com/t/31447 题意 给出一个二分图,问能否挑选出一些边,使得每个点的度数都在[L,R]这个范围以内。 分析 标签是easy。只要会上下界网络流应该都能写出来。 开一个源点s和一个汇点t,对于 阅读全文
posted @ 2018-09-10 01:42 蒟蒻LQL 阅读(362) 评论(0) 推荐(1) 编辑
摘要: 题意 给出n个数字和m个操作。操作有两种。1:查询区间[l,r]内不同种类得数字个数。2: 将下标为p得数字修改为v 分析 如果不是修改操作的话,用莫队贼简单就可以水过,但是因为带了修改就有一些麻烦了。 分块 开一个数组pre[i]记录上一个和第i个元素相同元素得位置。那么对于区间[l,r],当pr 阅读全文
posted @ 2018-09-05 00:57 蒟蒻LQL 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题意 给出包含n个数字的序列,和m个查询。每次查询问区间[l,r]中挑选出两个数字,大小相同的概率为多少。 分析 莫队的入门题吧。代码是非常好写,关键是时间复杂度的证明。O(n*sqrt(n))。我还有点迷糊,等我再做几个题再说··· 1 #include <cstdio> 2 #include < 阅读全文
posted @ 2018-09-03 21:04 蒟蒻LQL 阅读(165) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页