08 2019 档案
摘要:题意: 给你一个长度为n的01串,问你这个串的所有子串中,出现次数大于1的子串的出现次数,最后按照字典序输出。 分析: 对于这个题目,我们显然可以用两种处理后缀的数据结构进行处理。 1:后缀自动机: 个人觉得在这个题中,用后缀自动机去解决会相对来说比较好理解。 我们知道,在后缀自动机上的结点状态$s
阅读全文
摘要:"传送门" 题意: 给你一个字符串str,问出现次数为k的最长的子串的长度。 分析: 首先我们先将字符串str的所有后缀进行排序,并求出他们两两的height数组。 根据height数组的含义,height[i]=lcp(i,i1),我们知道,倘若存在一个子串出现了k次,那
阅读全文
摘要:"传送门" 分析: 非常经典的费用流的模型吧,也可以通过二分图最大匹配去做,但是鉴于二分图最大匹配的算法存在一定的局限性,故还是学一学较为通用的费用流的做法。 这道题目中本质上要讨论的问题跟运输问题, "运输问题" 是一致的。 因为考虑到每个人只能被分配到一种货物,每种货物只能被一个人所分配,因此,
阅读全文
摘要:"传送门" 题意: 给你一棵树,每条边有权值,现在要求你求出有多少对点对满足他们之间的权值能够被3整除。 分析: 因为我们需要维护的是树中链的信息,因此我们不妨使用点分治进行统计。因为我们只需要判断是否能够被3整除,因此我们只需要统计出点对之间的权值和%3之后的信息,即我们只需要统计出
阅读全文
摘要:题意: 有n个长度分别为ai的竹子,现在有m次操作,每次操作给你四个数字l,r,x,y。现在你需要将区间[l,r]的竹子砍y刀,对于每刀,你需要选择一个高度h,你需要将区间[l,r]中高度超过h的竹子砍掉,最终你需要保证每一刀砍了的高度相同。现在问你第x刀需
阅读全文
摘要:"传送门" 题意: 有m个仓库和n个零售商,第i个仓库送到第j个零售商需要花费v[i][j]元。现在需要让仓库的供给量以及零售商的收获量相同,问最小花费以及最大花费。 分析: 相当经典的最小费用最大流的模型。因为要保证供给以及收获相同,即代表着流量平衡,因此我们可以让超级源点$s
阅读全文
摘要:"传送门" 题意: 给你n个串,要让你把这个n个串拼接起来,其中,stri的后缀以及stri+1的前缀中最长的部分只能取一份。 分析: 本题中,我们最主要需要解决的问题是如何快速的判断一个串的后缀是否和另一个串的前缀相同。而我们知道,hash可以在$\mathc
阅读全文
摘要:"传送门" 题意: 给你一个长度为n的数列,其中有c种颜色,有q个询问,每个询问问你在区间[l,r]中,有多少种颜色的个数大于2。 分析: 这个题目跟求区间内不同的数的个数的解法非常相似。我们在这题中同样采取离线树状数组的做法。 我们发现,倘若处于位置l的第i种颜色ci要贡献答案,那么
阅读全文
摘要:"传送门" 分析: 这是一个非常经典的费用流的模型。 首先因为题目中限制我们每个点最多只能选取k次,因此,因为会有k次的限制,因此我们不妨用最大流进行限流,即我们将源点拆成两个点S0以及S1,从S0点向S1点连一条流量为k,费用为0的边。代表最多有大小为k的流
阅读全文
摘要:"传送门" 题意: 给你一个nn的格子,如果第i个格子放入了棋子,则八联通方向都不能放置棋子,问放置k个棋子的方案数。 分析: 很明显可以进行dp,又因为n非常的小,因此我们可以采用状态压缩的方法。设dp[i][state][k]为当前第i行的状态为state时,放
阅读全文
摘要:"传送门" 题意: 给你一个区间[l,r],让你求着个区间中,存在长度至少为2的回文子串的数的个数。 分析: 因为所要求的区间相当的大,因此我们不妨从它的数位入手进行dp。 根据萌数的性质,倘若要满足一个长度为len的字符串是萌数,那么这个串只需至少包含一个长度为2(对应偶回文)
阅读全文